Установите время по умолчанию в хронометре на основе времени устройства

У меня есть хронометр в 24-часовом формате. Теперь я хочу отображать текущее время устройства в 24-часовом формате независимо от формата времени устройства. Прямо сейчас мое устройство находится в 12-часовом формате, поэтому, например, мое время 14:04, хронометр должен быть 14:04.

Вот мой код или таймпикер. Он находится в другом макете, потому что я показываю их в диалоговом окне.

XML:

<LinearLayout android:id="@+id/datetimepickerLayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" xmlns:android="http://schemas.android.com/apk/res/android">
<DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></DatePicker>
<TimePicker android:id="@+id/timePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></TimePicker>

<Button
android:id="@+id/setdatetimeBtn1"
android:text="Set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center"/>

Now in my java code:

timePicker1 = (TimePicker)dialog.findViewById(R.id.timePicker1);
datePicker1 = (DatePicker)dialog.findViewById(R.id.datePicker1);
setDateTimeBtn1 = (Button)dialog.findViewById(R.id.setdatetimeBtn1);
datePicker1.setCalendarViewShown(false);
timePicker1.setIs24HourView(true);

Есть идеи? Спасибо!


person Luke Villanueva    schedule 18.12.2013    source источник
comment
см. stackoverflow.com/questions/12494074/   -  person Shayan Pourvatan    schedule 18.12.2013
comment
отличная ссылка @Shayanpourvatan. Спасибо!   -  person Luke Villanueva    schedule 18.12.2013
comment
@ ljpv14 Посмотрите мой ответ.   -  person GrIsHu    schedule 18.12.2013


Ответы (4)


AFAIK по умолчанию будет использовать текущее время устройства, и вы можете установить его, используя следующий код.

Calendar c = Calendar.getInstance();
timePicker1.setCurrentHour(c.get(Calendar.HOUR));
timePicker1.setCurrentMinute(c.get(Calendar.MINUTE));
person Ketan Ahir    schedule 18.12.2013
comment
Это именно то, что мне нужно. Спасибо! - person Luke Villanueva; 18.12.2013
comment
Всегда добро пожаловать, дорогая! .. если это помогло вам, пожалуйста, примите ответ. - person Ketan Ahir; 18.12.2013
comment
Извини за это. Я пытался принять некоторое время назад, но все еще нужно ждать 3 минуты. Совсем забыл об этом. Спасибо! - person Luke Villanueva; 18.12.2013

Вы можете получить время устройства, используя экземпляр календаря, как показано ниже:

Calendar c = Calendar.getInstance();

String CTime =c.get(Calendar.HOUR) + ":" + c.get(Calendar.MINUTE) +  ":" + c.get(Calendar.SECOND);
person Sagar Maiyad    schedule 18.12.2013

Проверять .

 timePicker1 = (TimePicker)dialog.findViewById(R.id.timePicker1);
 datePicker1 = (DatePicker)dialog.findViewById(R.id.datePicker1);
 setDateTimeBtn1 = (Button)dialog.findViewById(R.id.setdatetimeBtn1);
    setDateTimeBtn1 .setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            String strDateTime = datePicker1 .getYear() + "-" + (datePicker1 .getMonth() + 1) + "-" + datePicker1 .getDayOfMonth() + " "
       + timePicker1 .getCurrentHour() + ":" + timePicker1.getCurrentMinute();

            Toast.makeText(TimeDate.this, "User selected " + strDateTime + "Time", Toast.LENGTH_LONG).show(); //Generate a toast only if you want 
            finish();   // If you want to continue on that TimeDateActivity
             // If you want to go to new activity that code you can also write here
        }});
person GrIsHu    schedule 18.12.2013

@Все, кто пробовал решения, упомянутые выше, и они не сработали, вы должны использовать вас

Calender.HOUR_OF_DAY

вместо

Calender.HOUR

Сегодня весь день гуглил, пока не заработал.

person Community    schedule 18.07.2014