我的Activity类中有4个DatePicker对话框,单击4个按钮即可显示。现在对于这些datePickerDialog我想使用相同的监听器。
DatePickerDialog taxPickerDialog = new DatePickerDialog(getCurrentContext(),dateSetListener,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DATE));
taxPickerDialog.show();
DatePickerDialog fcPickerDialog = new DatePickerDialog(getCurrentContext(),dateSetListener,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DATE));
fcPickerDialog.show();
break;
DatePickerDialog expiryPickerDialog = new DatePickerDialog(getCurrentContext(),dateSetListener,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DATE));
expiryPickerDialog.show();
DatePickerDialog permitPickerDialog = new DatePickerDialog(getCurrentContext(),dateSetListener,calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DATE));
permitPickerDialog.show();
现在我想要一个使用监听器但是不知道如何实现这个???
DatePickerDialog.OnDateSetListener dateSetListener =new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
switch(????){????}
}
};
答案 0 :(得分:0)
class DPlistener implements OnDateSetListener
{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
//you can here
if (view.equals(expiryPickerDialog))
{
//do needfull
}
}}
并在你的datepicker视图中注册这个监听器。确保这个类是你活动的内部类
答案 1 :(得分:0)
希望你现在可以解决这个问题。只是提出一个想法 - “您可以为与ID
关联的TAG
设置某种DatePicker
或Dialog
,然后您可以通过查询已设置的内容来区分(ID/TAG)
1}}“。
答案 2 :(得分:0)
我知道这是一个迟到的回复,但我最近遇到了同样的情况。所以这是我的答案,
`DialogFragment.Show(FragmentManager manager, String tag))`
方法是Fragment本身的set标签。所以这个标签可以按如下方式使用:
Fragment dateTo=getActivity().getSupportFragmentManager().findFragmentByTag("dateTo");
if(dateTo!=null){
//do something
}
一个用例是你可以在一个活动中显示多个Fragment
并识别你可以用给定标签找到该片段的片段。如果它不是null,宾果!