我的页面上有两个按钮。按下按钮时,日期选择器对话框打开。单击日期选择器的完成后,我想将按钮文本设置为用户选择的日期。
我想使用 datepicker 的单个函数来做到这一点。
我的代码:
final Button fromdate = (Button) dialog.findViewById(R.id.ButtonTripConfigureFrom);
fromdate.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
showDialog(0);
fromdate.setText(date);
}
});
final Button tilldate = (Button) dialog.findViewById(R.id.ButtonTripConfigureTo);
tilldate.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
showDialog(0);
tilldate.setText(date);
}
});
protected Dialog onCreateDialog(int id)
{
final Calendar c = Calendar.getInstance();
int myYear = c.get(Calendar.YEAR);
int myMonth = c.get(Calendar.MONTH);
int myDay = c.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(this,myDateSetListener,myYear, myMonth, myDay);
}
private DatePickerDialog.OnDateSetListener myDateSetListener = new DatePickerDialog.OnDateSetListener()
{
public void onDateSet(DatePicker view, int year, int month, int day)
{
date = day + "/" + (month+1) +"/"+ year;
}
};
但是,当我这样做时,不会显示用户选择的值。它仅在我再次按下按钮时显示。(在用户按下日期选择器的 DONE 之前正在执行按钮的 settext)
我检查过的所有解决方案都表明在 dateset 函数中进行了修改。但由于我有两个不同的按钮,我不能在 dateset 函数中使用按钮的 settext。
是否有任何方法可以通过日期集函数返回值,或者可以将参数传递给日期集,然后在日期集中使用 if then。