我使用创建TimePicker本手册http://developer.android.com/guide/topics/ui/controls/pickers.htmlDialogFragment显示与标签不正常工作
public class TimePickerFragment extends DialogFragment {
private TimePickerDialog.OnTimeSetListener mListener;
private Activity mActivity;
private Calendar mCalendar = Calendar.getInstance();
public TimePickerFragment(Activity a,TimePickerDialog.OnTimeSetListener listener) {
mListener = listener;
mActivity = a;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
int hour = mCalendar.get(Calendar.HOUR_OF_DAY);
int minute = mCalendar.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(mActivity, mListener, hour, minute,
DateFormat.is24HourFormat(mActivity));
}
}
我想这种方式显示此对话框与标签
public class SomeActivity extends FragmentActivity implements TimePickerDialog.OnTimeSetListener {
TimePickerFragment mTimePicker;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_view);
mTimePicker = new TimePickerFragment(this, this);
// calling show with "SOME_TAG" tag
mTimePicker.show(this.getSupportFragmentManager(), "SOME_TAG");
}
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
// Here tag is null ?!
// Why?
String tag = (String) timePicker.getTag();
}
}
但在onTimeSet方法,标记始终为空。为什么?
DialogFragment没有setTag()方法。但show()方法签名具有标签参数。显示(FragmentManager管理器,字符串标签) – Hepri
@Hepri TimePicker。 –