2013-12-18 123 views
0

我有一個24小時格式的時間選擇器。現在我想以24小時格式顯示當前設備時間,無論設備時間格式如何。現在我的設備是12小時格式,所以例如我的時間是下午2點04分,時間選擇器應該是14點04分。基於設備時間在timepicker中設置默認時間

這是我的代碼或timepicker。它在不同的佈局上,因爲我在對話框中顯示它們。

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接受upvote。 –

+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誰tryed解決上面提到的,他們沒有工作,你必須使用你

Calender.HOUR_OF_DAY 

Calender.HOUR 

,而不是我在谷歌搜索整天,直到今天我得到這個上班。

相關問題