当我们需要设计一个选择或输入日期的功能给使用者
我们势必要给三个输入:年份、月份、几号
那Android贴心的提供了设计好的日期交谈视窗供设计者使用
不仅美观、也省去很多设计的时间
今天也不太需要设计布局
我们使用Toast来显示结果
所以直接拿昨天的专案来改就好
activity_main.xml不需要变更
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_dialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AlertDialog测试"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
我们须先建立一个日历的物件
Calendar calendar = Calendar.getInstance();
之後在按钮的点击事件新增
new DatePickerDialog(MainActivity.this,MainActivity.this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH))
.show();
new DatePickerDialog(MainActivity.this,MainActivity.this,预设年份,预设月份,预设第几天).show();
预设年份:
预设月份:
预设第几天:
打完後会发现第二个MainActivity.this有红色毛毛虫
只要照之前的方式点到MainActivity.this,键盘按Alt+Enter
选Make开头的,并加入onDateSet()方法
就会跑出
public void onDateSet(DatePicker datePicker, int y, int m, int d) {
}
这方法是:当选完日期执行的程序
完整程序:
package com.example.listview;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
Calendar calendar = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_dialog = findViewById(R.id.btn_dialog);
btn_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(MainActivity.this,MainActivity.this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH))
.show();
}
});
}
@Override
public void onDateSet(DatePicker datePicker, int y, int m, int d) {
Toast.makeText(MainActivity.this,"日期:"+y+"/"+(m+1)+"/"+d,Toast.LENGTH_LONG).show();
}
}
执行结果:
初始画面
点击按钮後,选择日期
点ok後
DataPickerDialog这个交谈视窗
会因为Android版本不一样
长的有所不同
但不引响功能
大家不必担心,安心使用
>>: 数据分析的好夥伴 - Python基础:物件导向(上)
单元对齐跟留白的部分今天会继续,定位的问题基本上不出乱子的话就如同昨天说明的。当然,如果再加上对齐跟...
由下图可知 onSaveInstanceState()是当生命周期进入onStop()时会被呼叫的c...
reference: medium - Filtering Image content with ...
我们知道写程序有个阶段就是一个输入、运算处理、输出 网页是由HTML、CSS、Javascript三...
前面我们介绍了简单的条件逻辑运算符,现在我们来看一下另外一种条件判断 ———— if. 在前面的判断...