次のコードを実行する前に、トランザクションを実行する必要があることを認識しています。そのトランザクションを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);
}