2013-11-15 97 views
2

我的TimePickerDialog出现问题。 首先检测如果用户的设备在12或24小时格式的时间:在Android中显示12或24小时格式的TimePicker

… 
String format; 
… 
if (DateFormat.is24HourFormat(this)) { 
Log.i("control","Format 24"); 
format=("24"); 
} else { 
Log.i("control","Format 12"); 
format=("12"); 
} 
… 

现在我的目的是要显示出与上午或下午的选项TimePicker,取决于格式:

… 
if(format.equals("24"){ 
view.setIs24HourView(true); 
} else { 
view.setIs24HourView(true); 
} … 

这是完整的代码TimePickerDialog:

public class AlarmPreferencesActivity extends ListActivity 
… 
TimePickerDialog timePickerDialog = new TimePickerDialogs(this, new TimePickerDialog.OnTimeSetListener(){ 

      @Override 
      public void onTimeSet(TimePicker view, int hours, int minutes) { 

       Calendar newAlarmTime = Calendar.getInstance(); 
       newAlarmTime.set(Calendar.HOUR_OF_DAY, hours); 
       newAlarmTime.set(Calendar.MINUTE, minutes); 
       newAlarmTime.set(Calendar.SECOND, 0); 
       alarm.setAlarmTime(newAlarmTime); 
       alarmPreferenceListAdapter 
       .setMathAlarm(getMathAlarm()); 
       alarmPreferenceListAdapter 
       .notifyDataSetChanged(); 

      }}, 
      alarm.getAlarmTime().get(Calendar.HOUR_OF_DAY), 
      alarm.getAlarmTime().get(Calendar.MINUTE), true); 


     timePickerDialog.setCancelable(true); 
     timePickerDialog.setCustomTitle(getLayoutInflater().inflate(R.layout.custom_hours, null)); 
     timePickerDialog.show(); 
     } 

我的问题是我不知道在哪里包括view.setIs24HourView (true)(false)。 我已经尝试了许多变化,但没有任何作品。 我搜索了信息,但没有成功。

+0

您是否阅读过您正在使用的TimePickerDialog构造函数的文档? – njzk2

回答

6

F你要在24小时格式的当前时间正确初始化的TimePicker使用以下命令:

import java.util.Calendar; 

timePicker.setIs24HourView(true); 
timePicker.setCurrentHour(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); 

否则,由于Android的错误,机械手将使用不正确的时间(2开始,而不是14等)。 希望这有助于

+0

我的问题不是这样,但我很欣赏你的兴趣。 我想知道的是如何把12或24小时格式的timepicker(TimePicker视图,int小时等),这取决于用户的设备。 我timepicker是“公共无效onTimeSet内声明(TimePicker视图...) 例如:view.setIs24HourView(真); – Sergio76

+0

你的意思是用户设备上的默认timepicket格式试试这个DateFormat.is24HourFormat(上下文) –

+0

这是真的,Android有bug,https://code.google.com/p/android/issues/detail?id=18982提到这个 –

相关问题