[解決済み] EditTextをクリックしたときのTimePickerダイアログ
2022-08-26 19:01:16
質問
EditTextフィールドをクリックするとポップアップするDatePickerをすでに持っています。
eReminderDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//To show current date in the datepicker
Calendar mcurrentDate = Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker;
mDatePicker = new DatePickerDialog(AddReminder.this, new OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
// TODO Auto-generated method stub
/* Your code to get date and time */
selectedmonth = selectedmonth + 1;
eReminderDate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear);
}
}, mYear, mMonth, mDay);
mDatePicker.setTitle("Select Date");
mDatePicker.show();
}
});
同じような方法でTimePickerを作ろうとしたことがありますが、うまくいきませんでした。これは、それを動作させるための私の試みです。
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
eReminderTime.setText( ""selectedHour + ":" + selectedMinute);
}
}, hour, minute);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
DatePickerでやった方法と同じようなことはできないのでしょうか?
このコードでEditTextフィールドがクリックされるとTimePickerがポップアップするようにするだけでも試しました。
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(TIME_DIALOG_ID);
}
});
これをAndroid Studioに入力すると、なぜか「showDialog」がスコアアウトしてしまいました。
どこが間違っているのか、どなたかヒントをいただけないでしょうか。あるいは、カスタムDialogFragmentを使用するしかないのでしょうか?
どのように解決するのですか?
eReminderTime.setText( "" + selectedHour + ":" + selectedMinute);
を削除しました。
+
の間に
""
と選択された時間の間。
setText
メソッドは単一の文字列しか取らないので、すべての部分を連結する必要があります (最初の引用符はおそらく不要です)。
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
eReminderTime.setText( selectedHour + ":" + selectedMinute);
}
}, hour, minute, true);//Yes 24 hour time
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
これで2つ目のエラーは解決するはずです。最後のパラメータを指定していなかったのです。 TimePickerDialogのコンストラクタ
関連
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] Android APKファイルの中身を見るには?
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。
-
[解決済み] ViewPager2でスワイプを無効にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] Android: xml リソースからの整数値
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理