API 15中的TimePicker getHours()和getMinutes()函数

4

我正在开发一个简单的闹钟应用程序,来学习BroadcastReceivers,问题是getHours()和getMinutes()仅适用于API 23。

  • 有没有其他方法可以实现这个功能?
  • 如果有,这种可能的解决方案是否适用于更高的API,如24?

这是我的示例代码:AlarmActivity.java

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_alarm);

    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

    setWidgets();

    Intent intent = new Intent(this.context, AlarmReceivers.class);

}

public void setWidgets(){
    timePicker = (TimePicker) findViewById(R.id.timePicker);
    //Calendar calendar = Calendar.getInstance();

    buttonSetAlarm = (Button) findViewById(R.id.buttonSetAlarm);
    buttonSetAlarm.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int getHour = timePicker.getHour();
            int getMinute = timePicker.getMinute();

            calendar.set(Calendar.HOUR_OF_DAY,timePicker.getHour());
            calendar.set(java.util.Calendar.MINUTE, timePicker.getMinute());

            if (getHour > 12){
                int twelve = getHour - 12;
            }

            if (getMinute < 10){

            }

            setText("On");

        }
    });

我遇到了getHour()getMinute()的问题。
2个回答

14

由于getHour()getMinute()是针对API 23及以上版本的,如果您的应用程序面向较低版本的API,则需要为它们添加支持。

您可以通过添加以下内容来实现:

if(Build.VERSION.SDK_INT < 23){
    int getHour = timePicker.getCurrentHour();
    int getMinute = timePicker.getCurrentMinute();

    calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
    calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
} else{
    int getHour = timePicker.getHour();
    int getMinute = timePicker.getMinute();

    calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
    calendar.set(Calendar.MINUTE, timePicker.getMinute());
}

getCurrentHour()getCurrentMinute()都已被弃用,但在较低的API上仍可使用。


2
您可以使用Calendar类中的get()方法。
calendar.get(Calendar.HOUR);
calendar.get(Calendar.MINUTE);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接