Android picker dialog

3751 단어 Android

효과도




DatePickerDialog


날짜 선택(최대값과 최소값을 지정할 수 있음)

    // 日付情報の初期設定
    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int monthOfYear = calendar.get(Calendar.MONTH);
    int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
    // 最大値設定
    Calendar maxDate = Calendar.getInstance();
    maxDate.set(year, monthOfYear, dayOfMonth);
    maxDate.add(Calendar.DATE, +20);
    // 最小値設定
    GregorianCalendar minDate = new GregorianCalendar();
    minDate.set(year, monthOfYear, dayOfMonth);
    // 日付設定ダイアログの作成
    DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,
            DateSetListener_expected_date, year, monthOfYear,
            dayOfMonth);
    DatePicker datePicker = datePickerDialog.getDatePicker();
    if (datePicker != null) {
        datePicker.setMaxDate(maxDate.getTimeInMillis());
        datePicker.setMinDate(calendar.getTimeInMillis());
    }
    // 日付設定ダイアログの表示
    datePickerDialog.show();

TimePickerDialog


선택 시간

    int hour = 9;
    int minute = 00;
    final TimePickerDialog timePickerDialog = new TimePickerDialog(this,
            new TimePickerDialog.OnTimeSetListener() {
                public void onTimeSet(TimePicker view, int hourOfDay,
                                      int minuteOfDay) {
                    // 時間表示をHH:mmに変換
                    String time = String.format("%02d:%02d", hourOfDay,
                            minuteOfDay);
                    L.d("time="+time);
                }
            }, hour, minute, true);
    timePickerDialog.show();

사용자 정의 제목 정의


AlertDialog.Builder+DatePicker

    int hour=0;
    int minute=0;
    final DatePicker dp = new DatePicker(this);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("独自タイトル");
    builder.setView(dp);
    builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
        }
    });
    builder.setNegativeButton(android.R.string.cancel, null);
    builder.create().show();

도도부 현


NumberPicker+AlertDialog.Builder

    NumberPicker mNumberPicker = new NumberPicker(this);
    mNumberPicker.setDisplayedValues(mCities);
    mNumberPicker.setMinValue(0);
    mNumberPicker.setMaxValue(mCities.length - 1);

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("日本の都道府県");
    builder.setView(mNumberPicker);
    builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
        }
    });
    builder.setNegativeButton(android.R.string.cancel, null);
    builder.create().show();

총결산


일자


DatePickerDialog를 우선적으로 고려합니다.제목 등을 정의하려면 DatePicker+AlertDialog를 사용합니다.Builder 만들기.

시간이면


TimePickerDialog를 우선적으로 고려합니다.제목 등 정의하고자 하는 경우 TimePicker+AlertDialog.Builder 만들기.

숫자, 도도부현 등 픽커 1개의 경우


NumberPicker+AlertDialog.Builder 만들기.

복잡한 상황


LayoutInflater+AlertDialog.Builder 만들기.

소스 코드


좋은 추억 잊지 마세요.

좋은 웹페이지 즐겨찾기