2013-12-18 1 views
0

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

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

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"/> 

Сейчас в моем Java код:

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); 

Любые идеи? Благодаря!

+1

см. Http://stackoverflow.com/questions/12494074/android-setting-time-in-time-picker-with-the-time-shown-in-text-view –

+0

см. Эту ссылку http: // www .mkyong.com/android/android-date-picker-example/ –

+0

отличная ссылка @Shayanpourvatan. Благодаря! – ljpv14

ответ

1

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

Calendar c = Calendar.getInstance(); 
timePicker1.setCurrentHour(c.get(Calendar.HOUR)); 
timePicker1.setCurrentMinute(c.get(Calendar.MINUTE)); 
+0

Это именно то, что мне нужно. Благодаря! – ljpv14

+0

Всегда приветствую, дорогая! .. если это вам помогло, то plz согласиться с повышением. –

+0

Извините. Я пытался согласиться некоторое время назад, но все равно нужно ждать 3 минуты. Полностью забыл об этом. Благодаря! – ljpv14

0

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

Calendar c = Calendar.getInstance(); 

String CTime =c.get(Calendar.HOUR) + ":" + c.get(Calendar.MINUTE) + ":" + c.get(Calendar.SECOND); 
0

Попробуйте.

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 
     }}); 
0

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

Calender.HOUR_OF_DAY 

вместо

Calender.HOUR 

Я весь день прибегая к помощи долго сегодня, пока я не получил это работать.