2017-03-08 12 views
1

私は、1つの「連続アラーム」で複数のアラームを設定できる連続アラームアプリケーションを作成しています。単一のアラームはそれぞれ、ArrayListに格納されます。私は、ユーザーがアプリを閉じると、設定されたアラームのUIが、アプリケーションを再開したときに再び表示されるようにしようとしています。アンドロイドがonStart()を呼び出すと、onStart()の後にコードが読み込まれないか、コード内にログがあるので知っています。どうしたの?AndroidのフラグメントがonStart()のコードを呼び出さない

@Override 
public void onStart() { 
    super.onStart(); 
    Log.e("asdfasdf", "onStart() called"); 
    SharedPreferences sharedPreferences = getActivity().getSharedPreferences("AlarmDataBase", Context.MODE_PRIVATE); 
    int toLoadSize = sharedPreferences.getInt("arraySize", 0); 
    for (int i = 0; i < toLoadSize; i++) { 
     ConsecAlarm toAdd = new ConsecAlarm(); 
     toAdd.setFromHour(sharedPreferences.getInt(i + "fromHour", 7)); 
     toAdd.setFromMinute(sharedPreferences.getInt(i + "fromMintue", 20)); 
     toAdd.setFromAM(sharedPreferences.getBoolean(i + "fromAM", true)); 
     toAdd.setToHour(sharedPreferences.getInt(i + "toHour", 7)); 
     toAdd.setToMinute(sharedPreferences.getInt(i + "toMinute", 30)); 
     toAdd.setToAM(sharedPreferences.getBoolean(i + "toAM", true)); 
     toAdd.setInterval(sharedPreferences.getInt(i + "interval", 5)); 
     int numAlarms = sharedPreferences.getInt(i + "numAlarms", 3); 
     toAdd.setNumAlarms(numAlarms); 
     for (int j = 0; j < numAlarms; j++) { 
      toAdd.addAlarmHour(sharedPreferences.getInt(i + "alarmHour" + j, 0)); 
      toAdd.addAlarmMin(sharedPreferences.getInt(i + "alarmMin" + j, 0)); 
      Log.e("asdfasdf", toAdd.getAlarmHour(i) + ":" + toAdd.getAlarmMin(i) + " loaded"); 
     } 
     mConsecAlarms.add(toAdd); 
    } 
    updateUI(); 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    Log.e("asdfasdf", "onStop() called"); 
    Collections.sort(mConsecAlarms, new Comparator<ConsecAlarm>() { 
     @Override 
     public int compare(ConsecAlarm o1, ConsecAlarm o2) { 
      return o1.getToHour() - o2.getToHour(); 
     } 
    }); 
    SharedPreferences sharedPreferences = getActivity().getSharedPreferences("AlarmDatabase", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 

    int toSaveSize = mConsecAlarms.size(); 
    editor.putInt("arraySize", toSaveSize); 
    for (int i = 0; i < toSaveSize; i++) { 
     editor.putInt(i + "fromHour", mConsecAlarms.get(i).getFromHour()); 
     editor.putInt(i + "fromMinute", mConsecAlarms.get(i).getFromMinute()); 
     editor.putBoolean(i + "fromAM", mConsecAlarms.get(i).isFromAM()); 
     editor.putInt(i + "toHour", mConsecAlarms.get(i).getToHour()); 
     editor.putInt(i + "toMinute", mConsecAlarms.get(i).getToMinute()); 
     editor.putBoolean(i + "toAM", mConsecAlarms.get(i).isToAM()); 
     editor.putInt(i + "interval", mConsecAlarms.get(i).getInterval()); 
     int numAlarms = mConsecAlarms.get(i).getNumAlarms(); 
     editor.putInt(i + "numAlarms", numAlarms); 
     for (int j = 0; j < numAlarms; j++) { 
      editor.putInt(i + "alarmHour" + j, mConsecAlarms.get(i).getAlarmHour(j)); 
      editor.putInt(i + "alarmMin" + j, mConsecAlarms.get(i).getAlarmMin(j)); 
      Log.e("asdfasdf", mConsecAlarms.get(i).getAlarmHour(j) + ":" + mConsecAlarms.get(i).getAlarmMin(j) + " saved"); 
     } 
    } 
    editor.commit(); 
} 

答えて

0

フラグメントを送信しますか?それはあなたがそれを提出した後に呼び出されます

+0

ごまかしてください。ありがとう – Dulk

関連する問題