Datepickerポップアップウィンドウを表示したい。私はいくつかの例を見つけましたが、私はそれを適切に取得していません。私はボタンが1つあり、ボタンをクリックすると、日付ピッカーダイアログがポップアップし、日付を設定した後、日付が変数に保存されるようにします。サンプルコードまたは適切なリンクを提供してください。
このクラスをアクティビティの内部クラスとして作成します
現在の日付をdatePickerを開いたときに表示される日付に設定する場合。あなたはこのようにそれを得ることができます
Calendar c = Calendar.getInstance();
int startYear = c.get(Calendar.YEAR);
int startMonth = c.get(Calendar.MONTH);
int startDay = c.get(Calendar.DAY_OF_MONTH);
class StartDatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// TODO Auto-generated method stub
// Use the current date as the default date in the picker
DatePickerDialog dialog = new DatePickerDialog(BookingFormActivity.this, this, startYear, startMonth, startDay);
return dialog;
}
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
// Do something with the date chosen by the user
startYear = year;
startMonth = monthOfYear;
startDay = dayOfMonth;
updateStartDateDisplay();
}
}
このメソッドをonClickに設定すると、このダイアログを呼び出すことができます
public void showStartDateDialog(View v){
DialogFragment dialogFragment = new StartDatePicker();
dialogFragment.show(getFragmentManager(), "start_date_picker");
}
これを試して。
ボタンのクリックでこのコードを使用します。日付選択ダイアログが表示されます。
Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
System.out.println("the selected " + mDay);
DatePickerDialog dialog = new DatePickerDialog(Registration.this,
new mDateSetListener(), mYear, mMonth, mDay);
dialog.show();
次に、mDateSetListener
クラスを記述する必要があります。
class mDateSetListener implements DatePickerDialog.OnDateSetListener {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
// getCalender();
int mYear = year;
int mMonth = monthOfYear;
int mDay = dayOfMonth;
v.setText(new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("/").append(mDay).append("/")
.append(mYear).append(" "));
System.out.println(v.getText().toString());
}
}
この回答を確認して投票してください。