私はクラスがextends DialogFragment
で、このクラスの中で私はTimePickerDialog
を使用しています。TimePickerDialogキャンセルとOKボタンが表示されない
時間ピッカーは機能しますが、下の画像に示すように、問題がCANCEL
とOK
のボタンが表示されないことがあります。
ボタンは機能しますが、目に見えません。
ここでは、時間ピッカーに使用されるコードを示します。
public static class TimePickerFragment extends android.support.v4.app.DialogFragment
implements TimePickerDialog.OnTimeSetListener {
// String used to set both Start and end times
String startEndTime;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
Bundle b = getArguments();
if (b != null) {
startEndTime = b.getString("startEndTime");
}
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time chosen by the user
switch (startEndTime) {
case "startTime":
break;
case "endTime":
break;
default:
break;
}
}
}
public void showTimePickerDialog(String startEndTime) {
TimePickerFragment timePickerFragment = new TimePickerFragment();
Bundle b = new Bundle();
b.putString("startEndTime", startEndTime);
timePickerFragment.setArguments(b);
timePickerFragment.show(context.getSupportFragmentManager(), "timePicker");
}
ダイアログ内にTimePickerDialogを開いているようです。だから、私は最初の1つはあなたのダイアログがTimePickerDialogのインスタンスを返すことだと思います。もう1つは実際のTimePickerDialogです。 –
@TentenPonceうん、これは私がボタンのクリックからそれを呼んでいる方法です: 'code' bt_startTime.setOnClickListener(ビュー - > { showTimePickerDialog( "のstartTime"); }); bt_endTime.setOnClickListener(ビュー - > { showTimePickerDialog( "endTime"); }); – bsanehi
同じ問題です、とにかくそれを修正しましたか? –