私はアンドロイドが新しく、チェックボックスがオンのときにアラームを開始し、チェックボックスの状態を保存したままにするアプリケーションを作成する必要があります。チェックボックスの値を保存してアラームを開始するためにintを使用しようとしましたが、動作しません。チェックボックスとアラームの状態を保存する
public int getValueC(String key) {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
int value = sharedPref.getInt(key, 0);
return value;
}
public void saveValueC(String key, int value) {
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(key, value);
editor.apply();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a_d_q);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final CheckBox checkBox1 = (CheckBox) findViewById(R.id.mc);
final String keyC = "somekeyC";
c = getValueC(keyC);
checkBox1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
c++;
saveValueC(keyC,c);
if (c%2==0){
Toast ToastMessage = Toast.makeText(getApplicationContext(), "off", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
alarmManagers.cancel(pendingIntent);
}
else{
Toast ToastMessage = Toast.makeText(getApplicationContext(), "on", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
alarmManagers.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(),2*60*1000,pendingIntents);
checkBox1.isChecked();
}});
if (c%2==0){
Toast ToastMessage = Toast.makeText(getApplicationContext(), "Even number", Toast.LENGTH_LONG);
//View toastView = ToastMessage.getView();
//toastView.setBackgroundColor(Color.YELLOW);
ToastMessage.show();
}
else{
checkBox1.isChecked();
}
アラームが正常に機能するため、アラームマネージャとインテントコードが含まれていませんでした。私は値をチェックボックスに保存する必要があります。アラームをオンにし、チェックボックスの状態を保存する必要があります。それがチェックされていないとき。それはアラームをオフにし、チェックボックスの開始を保存する必要があります。
私はそれを理解しようと時間を費やしました。あなたが問題を知っているなら、PLZは私に知らせてください。ありがとう