私は大学で私のプロジェクトのための簡単な目覚まし時計を作っています。私はAndroid Studioを使用しています。私はcalendar.set(...)とhour_string/minute_stringせずにそれを設定する場合は、単に他のアプリは動作を停止し、アラームはそれが完璧に動作設定を表示するには、アラームアプリケーションAndroidスタジオ
public class AlarmActivity extends AppCompatActivity {
TimePicker alarm_timer;
TextView update_text;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm);
this.context = this;
// initialize
alarm_timer = (TimePicker) findViewById(R.id.timePicker);
update_text = (TextView) findViewById(R.id.textView);
//create instance of calendar
final Calendar calendar = Calendar.getInstance();
Button alarm_on = (Button) findViewById(R.id.bttnAlarmSet);
//onClickListener
assert alarm_on != null;
alarm_on.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onClick(View v) {
calendar.set(Calendar.HOUR_OF_DAY, alarm_timer.getHour());
calendar.set(Calendar.MINUTE, alarm_timer.getMinute());
int hour = alarm_timer.getHour();
int minute = alarm_timer.getMinute();
//convert int values to string
String hour_string = String.valueOf(hour);
String minute_string = String.valueOf(minute);
//Change TextView
set_alarm_text("Alarm set to: "+ hour_string +":"+ minute_string);
}
});
}
//Method to Change text View
private void set_alarm_text(String output) {
update_text.setText(output);
}
:
は、ここでは、コードです。
プロジェクト構造はAPI19用です:Android 4.4(KitKat)。私の携帯電話はAPI23:Android 5.1(Lollipop)です。私は
calendar.set(Calendar.HOUR_OF_DAY, alarm_timer.getHour());
calendar.set(Calendar.MINUTE, alarm_timer.getMinute());
を書いたとき
それは "コールはAPIレベル23を(現在の分が19である)が必要です" と言います。小さな黄色の球根から自動的に "@TargetApi(Build.VERSION_CODES.M)"という行を書きました。私はこれが問題のどこにあるのだろうと思うが、私はJavaやJava関連のものが悪い。
誰かが私を助けたり、少なくとも間違いに気付いたら、私は感謝しています!
「@TargetApi ...」で始まる行を削除し、もう一度やり直してください... – alfasin
「呼び出しにはAPIレベル23(現在の最小値は19)」が必要です。つまり、あなたが使用したコード行は、新しいandroid-osで開発され、サポートされています。 –