Ich habe eine Spinner-Klasse, in der drei Spinner-Element, in jedem Artikel Fall habe ich ein Zeitintervall für die Wiederholung Alarm.Problem ist jedes Mal, wenn ich Spinner-Klasse, die In-App geöffnet Service startet automatisch, aber ich möchte Service nur starten, wenn ich Spinner Element nicht jedes Mal ändern, wenn ich Spinner-Klasse öffne. Hier ist Java-Code für Spinner-Artikel.Alarmdienst startet automatisch, wenn ich Spinner öffnen Aktivität
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_setting, container, false);
textView = (TextView) rootView.findViewById(R.id.textView);
spinner = (Spinner) rootView.findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
getActivity(), R.array.time_interval, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id){
// String item = parent.getItemAtPosition(pos).toString();
// Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
Object test = parent.getSelectedItem();
switch (pos){
case 0:
break;
case 1:
editor.putInt("intervalInMinutes", 5*60*1000);
break;
case 2 :
editor.putInt("intervalInMinutes", 10*60*1000);
break;
case 3 :
editor.putInt("intervalInMinutes", 15*60*1000);
break;
}
editor.apply();
GpsTrackerAlarmReceiver alarm = new GpsTrackerAlarmReceiver();
alarm.setAlarm(getActivity());
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
// Inflate the layout for this fragment
return rootView;
}
@Override
public void onPause() {
super.onPause();
SharedPreferences prefs = getActivity().getSharedPreferences("prefs_name", Context.MODE_PRIVATE);
prefs.edit().putInt("spinner_indx", spinner.getSelectedItemPosition()).apply();
}
@Override
public void onResume() {
super.onResume();
SharedPreferences prefs = getActivity().getSharedPreferences("prefs_name", Context.MODE_PRIVATE);
int spinnerIndx = prefs.getInt("spinner_indx", 0);
spinner.setSelection(spinnerIndx);
}
@Override
public void onAttach(Activity activity) {
//noinspection deprecation
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
}
versuchen, Code aktualisiert –
dank geteilt nach prefrences seine –
mir eine Freude zu arbeiten und glücklich Codierung –