我意识到您需要在执行以下代码之前进行交易。如何使该事务成为 TimePickerDialog?
DialogFragment newFragment = new DialogFragment();
newFragment.show(getFragmentManager(), "dialog");
我将如何将该代码与此代码集成:
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
}
};
@Override
protected Dialog onCreateDialog(int id) {
Log.d("is it in here","");
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
新代码如下。由于“this”,它给出了一个未定义的构造函数错误。我该如何解决?我知道我需要传递一个上下文..但是如何?
public static class MyAlertDialogFragment extends DialogFragment {
private int mHour;
private int mMinute;
public static MyAlertDialogFragment newInstance(int title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putInt("title", title);
frag.setArguments(args);
return frag;
}
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
}
};
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Log.d("is it in here","");
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
return null;
}
}
代码编辑#2:
public TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
}
};
public void notification(String value){
// add a click listener to the button
//showDialog(TIME_DIALOG_ID);
new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false);
// get the current time
//final Calendar c = Calendar.getInstance();
//mHour = c.get(Calendar.HOUR_OF_DAY);
//mMinute = c.get(Calendar.MINUTE);
}