日期對話框(Date Picker Dialog) 是一種常見的用戶界面組件,用於讓用戶選擇特定的日期。
練習使用
public class DatePickerActivity extends AppCompatActivity implements View.OnClickListener, DatePickerDialog.OnDateSetListener {
private DatePicker dp_choose;
private TextView tv_time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_date_picker);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
findViewById(R.id.btn_ok).setOnClickListener(this);
findViewById(R.id.btn_date).setOnClickListener(this);
dp_choose = findViewById(R.id.dp_choose);
tv_time = findViewById(R.id.tv_time);
}
@Override
public void onClick(View view) {
if(view.getId() == R.id.btn_ok){
String desc = String.format("您的日期是%d年%d月%d日",dp_choose.getYear(),dp_choose.getMonth()+1,dp_choose.getDayOfMonth());
tv_time.setText(desc);
}else if(view.getId() == R.id.btn_date){
Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.YEAR);
calendar.get(Calendar.MONTH);
calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(this,this,2024,8,11);
dialog.show();
}
}
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
String desc = String.format("您的日期是%d年%d月%d日",i,i1+1,i2);
tv_time.setText(desc);
}
}