第53篇 Android Studio实现生命数字游戏(八)日期选择
1.日期选择
效果如下
1.1.设置EditText不可编辑
设置不可编辑,一种方法是
android:editable="false"
但是这样好像不行,按意思来说应该可以的。
下面一种是设置它不能获取焦点,那么点击的时候就不会弹起键盘,就不能输入了。
android:focusable="false"
这样就没事了。
1.2.弹起日期选择对话框
设置点击EditText的点击事件监听。
可以单独设置,也可以重写监听函数,然后查看对应id。
我是重写函数。
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.edit_date:
setDate();
break;
case R.id.btn_test:
computeData();
break;
default:
}
}
然后编写对应函数。
@SuppressLint("SetTextI18n")
public void setDate() {
Calendar calendar = Calendar.getInstance();
new DatePickerDialog(MainActivity.this,
(view, year, month, day) -> {
str_year = String.valueOf(year);
str_month = String.valueOf(month + 1);
str_day = String.valueOf(day);
str_date = str_year +str_month + str_day;
EditText edit_date = findViewById(R.id.edit_date);
edit_date.setText(str_year +"-"+ str_month +"-"+ str_day);
}, calendar.get(Calendar.YEAR), calendar
.get(Calendar.MONTH), calendar
.get(Calendar.DAY_OF_MONTH)).show();
}
可以了。