首先大家千万别把Date写成了Data
最近在写Fragment的示例,在 new DatePickerDialog(getActivity(),
new OnDateSetListener() {
/**
* month java 0 --- 11 月来表示1月到12月
*/
@Override
public void onDateSet(DatePicker arg0,
int selectedYear, int selectedMonth,
int selectedDay) {
Toast.makeText(
getActivity(),
selectedYear + "年" + (selectedMonth + 1)
+ "月" + selectedDay + "日",
Toast.LENGTH_LONG).show();
/**
* Fragment 与Activity 之间的通信,数据交互
*/
TextView txtResult = (TextView) getActivity()
.findViewById(R.id.text_dialog_result);
txtResult.setText(selectedYear + "年"
+ (selectedMonth + 1) + "月" + selectedDay
+ "日");
}
}, year, monthOfYear, dayOfMonth);
执行了两次!!!!
网上一查,这是android4.1和4.2存在的一个bug,需要修改framework里的DatePickerDialog.java源文件,
大家只需写一个子类继承DatePickerDialog,然后在里面重写父类的onStop()方法。如:
protected void onStop() {
/**
* 注释
*/
// super.onStop();
}
就可以了!!问题就解决了!