Saya menggunakan Android write untuk mengatur waktu, Saya menggunakan edittext, ketika saya mengklik, itu akan menunjukkan jam TimePickerDialog, bagaimana saya bisa hanya menunjukkan 0 dan 30 pada jam saya? tapi saya punya batasan
Saya harap jam saya hanya dapat mengatur AM8-17, dan menit hanya dapat mengatur 00 atau 30
EX:8:30 / 14:00..... Saya tidak tahu bagaimana melakukannya, dapatkah seseorang membantu saya? terima kasih.
ini kode saya,

    time2.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if(hasFocus){
                showtime2();
            }
        }
    });
 private void showtime2() {
    Calendar c = Calendar.getInstance();
    new TimePickerDialog(Off.this, R.style.DatePickBackgroundColor2, new 
TimePickerDialog.OnTimeSetListener(){

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            String tmp="",tmp2="";
            if(hourOfDay<10){tmp="0"+hourOfDay;}else tmp=""+hourOfDay;
            if(minute<10){tmp2="0"+minute;}else tmp2=""+minute;
            time2.setText(tmp + ":" + tmp2);
        }
    },  c.get(Calendar.HOUR), c.get(Calendar.MINUTE), false).show();
}

This is my clock picture

1
samurai 20 November 2020, 09:18

1 menjawab

Jawaban Terbaik

Katakanlah Anda memiliki pemilih waktu di file xml Anda seperti di bawah ini, perhatikan menggunakan pemintal sebagai mode pemilih waktu sehingga Anda dapat menampilkan TimePicker dengan interval:

<TimePicker
    android:id="@+id/timepicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:timePickerMode="spinner"/>

Setel setIs24HourView() ke true untuk menghilangkan am/pm dan memanggil fungsi di mana Anda akan menyetel nilai yang dapat ditampilkan.

TimePicker timepicker = findViewById(R.id.timepicker);
timepicker.is24HourView();
setInterval(timepicker);

Akhirnya, fungsi setInterval() harus seperti ini tergantung pada kebutuhan Anda:

private void setInterval(TimePicker timePicker) {
        try {

            NumberPicker minutePicker = timePicker.findViewById(Resources.getSystem().getIdentifier(
                    "minute", "id", "android"));

            String[] display = new String[] { "0", "30" };

            minutePicker.setMinValue(0);
            minutePicker.setMaxValue(display.length - 1);
            minutePicker.setDisplayedValues(display);
        } catch (Exception ex) {
            Log.d(TAG, ex.getMessage());
        }
    }
1
Yunus Karaaslan 20 November 2020, 07:57