使用以下代码创建 CustomDatePickerDialog
public class CustomDatePickerDialog extends DatePickerDialog
{
public CustomDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth,View attachedView)
{
super(context, callBack, year, monthOfYear, dayOfMonth);
getDatePicker().setTag(attachedView.getId());
}
public CustomDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
{
super(context, callBack, year, monthOfYear, dayOfMonth);
}
public CustomDatePickerDialog(Context context, int theme, OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth)
{
super(context, theme, listener, year, monthOfYear, dayOfMonth);
}
}
像下面这样称呼它
btnSelectDate.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
CustomDatePickerDialog customDatePickerDialog = new CustomDatePickerDialog(MainActivity.class,dateSetListener,2014,10,1,view);
customDatePickerDialog.show();
}
});
您将在监听器中获得如下所示的哪个按钮调用对话框
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
int viewID = view.getTag();
switch(viewID)
{
case R.id.btnDatePicker1;
{
//DO Something
}
case R.id.btnDatePicker2;
{
//DO Something
}
}
}
};
注意:在自定义对话框中调用 getDatePicker() 需要 API 级别 11