gpt4 book ai didi

android - DatePicker 对话当前日期未选择

转载 作者:搜寻专家 更新时间:2023-11-01 09:46:15 25 4
gpt4 key购买 nike

大家好,我是 Android 开发新手。在我的应用程序中,我创建了 DatePickerDialogue

我的问题是,当我选择当前日期以外的任何日期时,无法选择当前日期。

我的代码:

public class DatePickerDialogue extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.shared_layout);

int mYear, mMonth, mDay;
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);

DatePickerDialog dpd = new DatePickerDialog(DatePickerDialogue.this,
new DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {

}

}, mYear, mMonth, mDay);

dpd.getDatePicker().setMaxDate(System.currentTimeMillis());
dpd.show();
}

enter image description here

enter image description here

最佳答案

这样使用

在下面的代码中,我在 TextView 上设置了 OnclickListener 并将 Date 设置为 TextView

   int mYear, mMonth, mDay;

final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);

final TextView textView = (TextView)findViewById(R.id.textview23);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
c.set(year, month, day);
String date = new SimpleDateFormat("MM/dd/yyyy").format(c.getTime());
textView.setText(date);

mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
}
}, mYear, mMonth, mDay);
dpd.getDatePicker().setMaxDate(System.currentTimeMillis());

Calendar d = Calendar.getInstance();

dpd.updateDate(d.get(Calendar.YEAR),d.get(Calendar.MONTH),d.get(Calendar.DAY_OF_MONTH));
dpd.show();


}

});

对于禁用 future 日期:

您应该能够调用 getDatePicker()。 setMaxDate(long)在 DatePickerDialog 上将今天设置为最大日期。它将禁用 future 的日期

更新:

要重置Date,只要您想要默认Date,就必须将其更新为默认值。像下面的代码你可以设置它。

dpd.updateDate(d.get(Calendar.YEAR),d.get(Calendar.MONTH),d.get(Calendar.DAY_OF_MONTH));

希望对您有所帮助。

关于android - DatePicker 对话当前日期未选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37960109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com