2016-11-30 3 views
-1

im 3 Toggle-Taste Alarm einzustellen um 06.00, 12.00 und 18.00 Uhr, aber Alarm nur um 6 Uhr oder zuletzt am dritten Mal :( Alarlm nur bei Verfahren public void startEnamSore() {Wie SharedPreference in ToggleButton Android verwenden?

Der Kodex :

public class AlarmFragment extends Fragment { 
// TODO: Rename parameter arguments, choose names that match 
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 
private static final String ARG_PARAM1 = "param1"; 
private static final String ARG_PARAM2 = "param2"; 

// TODO: Rename and change types of parameters 
private String mParam1; 
private String mParam2; 
private PendingIntent pendingIntent; 
private TextView textViewEnamPagi, textViewDuabelas, textViewenamSore, textResult; 
private ToggleButton toggleButtonEnamPagi, toggleButtonDuaBelas, toggleButtonEnamSore; 

public AlarmFragment() { 
    // Required empty public constructor 
} 

/** 
* Use this factory method to create a new instance of 
* this fragment using the provided parameters. 
* 
* @param param1 Parameter 1. 
* @param param2 Parameter 2. 
* @return A new instance of fragment AlarmFragment. 
*/ 
// TODO: Rename and change types and number of parameters 
public static AlarmFragment newInstance(String param1, String param2) { 
    AlarmFragment fragment = new AlarmFragment(); 
    Bundle args = new Bundle(); 
    args.putString(ARG_PARAM1, param1); 
    args.putString(ARG_PARAM2, param2); 
    fragment.setArguments(args); 
    return fragment; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (getArguments() != null) { 
     mParam1 = getArguments().getString(ARG_PARAM1); 
     mParam2 = getArguments().getString(ARG_PARAM2); 



    } 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_alarm, container, false); 
    toggleButtonEnamPagi = (ToggleButton) v.findViewById(R.id.toggleButton); 
    //textViewDuabelas = (ToggleButton) getActivity().findViewById(R.id.toggleButton2); 
    textViewEnamPagi = (TextView) v.findViewById(R.id.textViewalarm); 
    textViewDuabelas = (TextView) v.findViewById(R.id.textView); 
    toggleButtonDuaBelas = (ToggleButton) v.findViewById(R.id.toggleButton2); 
    textResult = (TextView) v.findViewById(R.id.textViewhasil); 
    toggleButtonEnamSore = (ToggleButton) v.findViewById(R.id.toggleEnamSore); 

    textViewEnamPagi.setText("OFF Pukul 06.00 AM"); 
    textViewDuabelas.setText("OFF Pukul 12.00 PM"); 

    startSix(); 
    startDuaBelas(); 
    startEnamSore(); 

    toggleButtonEnamPagi.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(toggleButtonEnamPagi.isChecked()){ 
       textViewEnamPagi.setText("ON Pukul 06.00 AM"); 
       SharedPreferences preferences = getActivity().getPreferences(1); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgEnam", true); 
       edt.commit(); 
      }else { 
       textViewEnamPagi.setText("OFF Pukul 06.00 AM"); 
       SharedPreferences preferences = getActivity().getPreferences(1); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgEnam", false); 
       edt.commit(); 
      } 
     } 
    }); 

    toggleButtonDuaBelas.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(toggleButtonDuaBelas.isChecked()){ 
       textViewDuabelas.setText("ON Pukul 12.00 PM"); 
       SharedPreferences preferences = getActivity().getPreferences(0); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgDuabelas", true); 
       edt.commit(); 
      }else{ 
       textViewDuabelas.setText("OFF Pukul 12.00 PM"); 
       SharedPreferences preferences = getActivity().getPreferences(0); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgDuabelas", false); 
       edt.commit(); 
      } 
     } 
    }); 

    toggleButtonEnamSore.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(toggleButtonEnamSore.isChecked()){ 
       //textViewDuabelas.setText("ON Pukul 12.00 PM"); 
       SharedPreferences preferences = getActivity().getPreferences(0); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgEnamsore", true); 
       edt.commit(); 
      }else{ 
       //textViewDuabelas.setText("OFF Pukul 12.00 PM"); 
       SharedPreferences preferences = getActivity().getPreferences(0); 
       SharedPreferences.Editor edt = preferences.edit(); 
       edt.putBoolean("tgEnamsore", false); 
       edt.commit(); 
      } 
     } 
    }); 



    // Inflate the layout for this fragment 
return v; 
} 



public void startSix(){ 
    SharedPreferences preferences = getActivity().getPreferences(Context.MODE_PRIVATE); 
    boolean tgenam = preferences.getBoolean("tgEnam", true); 
    if(tgenam == true){ 
     textViewEnamPagi.setText("ON Pukul 06.00 AM"); 
     toggleButtonEnamPagi.setChecked(true); 
     Calendar calendar = Calendar.getInstance();   
      calendar.set(Calendar.HOUR_OF_DAY, 6); 
      calendar.set(Calendar.MINUTE, 0); 
      calendar.set(Calendar.SECOND, 0); 


      Intent myIntent = new Intent(getActivity().getApplication(), MyReceiver.class); 
      pendingIntent = PendingIntent.getBroadcast(getActivity().getApplication(), 0, myIntent, 0); 

      AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE); 
      alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
     // } 
    }else{ 

    } 

} 
public void startDuaBelas() { 
    SharedPreferences preferences = getActivity().getPreferences(Context.MODE_PRIVATE); 
    boolean tgduabelas = preferences.getBoolean("tgDuabelas", true); 
    if (tgduabelas == true) { 
     textViewDuabelas.setText("ON Pukul 12.00 PM"); 
     toggleButtonDuaBelas.setChecked(true); 

     Calendar calendar = Calendar.getInstance();   
     calendar.set(Calendar.HOUR_OF_DAY, 12); 
     calendar.set(Calendar.MINUTE, 0); 
     calendar.set(Calendar.SECOND, 0); 


     Intent myIntent = new Intent(getActivity().getApplication(), MyReceiver.class); 
     pendingIntent = PendingIntent.getBroadcast(getActivity().getApplication(), 0, myIntent, 0); 

     AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
     // } 
    } else { 
     textViewDuabelas.setText("OFF Pukul 12.00 PM"); 

    } 
} 


public void startEnamSore() { 
    SharedPreferences preferences = getActivity().getPreferences(Context.MODE_PRIVATE); 
    boolean tgenamsore = preferences.getBoolean("tgEnamsore", true); 
    if (tgenamsore == true) { 
     toggleButtonEnamSore.setChecked(true); 

     Calendar calendar = Calendar.getInstance();   
     calendar.set(Calendar.HOUR_OF_DAY, 18); 
     calendar.set(Calendar.MINUTE, 0); 
     calendar.set(Calendar.SECOND, 0); 

     Intent myIntent = new Intent(getActivity().getApplication(), MyReceiver.class); 
     pendingIntent = PendingIntent.getBroadcast(getActivity().getApplication(), 0, myIntent, 0); 

     AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
     // } 
    } else { 


    } 

} 

Dank

+1

was du meinst? nicht in der Lage, Ihr Problem zu verstehen ... Was ich habe, ist Sie die drei Alarm einstellen, aber nur 3. Alarme zu der bestimmten Zeit? –

+1

wirklich, bitte überarbeiten Sie Ihre Frage, es ist verwirrend .... – Opiatefuchs

Antwort

0

Wenn Sie, dass alle Alarme an ihre spezifischen Zeit Alarmiert sollte wollen, dann müssen Sie die ID des anstehenden Einzug ändern ... diese so unterschiedlich sein sollte der Alarm-Manager unterscheiden zwischen sie.

pendingIntent = PendingIntent.getBroadcast(getActivity().getApplication(), unique_id, myIntent, 0); 

statt ...

pendingIntent = PendingIntent.getBroadcast(getActivity().getApplication(), 0, myIntent, 0); 
Verwandte Themen