我在正常活动中使用onCreate
方法创建了一个对话框:
datePicker = new DatePickerDialog(this, this, cal.get(YEAR),
cal.get(MONTH), cal.get(DAY_OF_MONTH));
然后我调用一个按钮监听器:
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datePicker.show();
Log.e("tag", "Passage dans le click");
}
});
取消时=>
当OK =>
如果我写两次Datepicker.show()
,那该工作:
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datePicker.show();
datePicker.show();
Log.e("tag", "Passage dans le click");
}
});
答案 0 :(得分:0)
你可以尝试下面的代码...每次创建一个对话框对象,它每次都会显示。希望它能奏效。
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datePicker = new DatePickerDialog(this, this, cal.get(YEAR), cal.get(MONTH), cal.get(DAY_OF_MONTH));
datePicker.show();
Log.e("tag", "Passage dans le click");
}
});
答案 1 :(得分:0)
这可能是由于某种"沉重的"处理onDateSet(...)回调。 试着用这个:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
datePicker.show();
}
}, 300);
}
});