1

でgetMinutes、問題がgetHours() and getMinutes()あるAPI 23TimePicker次に、getHours()、私は<code>BroadcastReceivers</code>を研究するために、シンプルな目覚まし時計アプリを作ってるんだAPI 15

  • のためにのみ使用できます達成するための任意の代替方法はありますこの?
  • もしそうなら?可能な解決策は24のようなより高いAPIに適用可能でしょうか?私はgetHour()getMinute()とこだわっている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"); 
    
         } 
        }); 
    

は、ここに私のサンプルコードです。

答えて

1

Calendarクラスのget()メソッドを使用できます。

calendar.get(Calendar.HOUR); 
calendar.get(Calendar.MINUTE); 
2
getHour()として

getMinute()は、アプリケーションが下のAPIをターゲットにしている場合、あなたは彼らのサポートを追加する必要があり、上記のAPI 23のためのものであると。

次を追加することでこれを行うことができます。

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上で動作しています。

関連する問題