2015-07-25 5 views
-1

В настоящее время я работаю над двумя кнопками toggle_buttons, которые работают отлично, оба находятся на разных страницах, сохраняя их состояния, но у меня проблема, когда я нажимаю toggle_button_1 на странице_1, он автоматически устанавливается на toggle_button_2 on page_2, что я хочу сделать, когда я нажимаю toggle_button_1 на странице_1, он отключает toggle_button_2 на странице_2, пока и, если я не сделаю toggle_button_1, toggle_button_2 останется отключенным. Я использую этот код для обоих кнопок toggle_buttons на разных страницах.Головки togglebuttons

Может ли кто-нибудь помочь мне в выполнении моей задачи ???

 SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
    s2.setChecked(sharedPreferences.getBoolean("toggleButton", false)); 


    s2.setOnClickListener(new ToggleButton.OnClickListener() { 

     public void onClick(View v) { 
      SharedPreferences sharedPreferences = PreferenceManager 
        .getDefaultSharedPreferences(getApplicationContext()); 
      SharedPreferences.Editor editor = sharedPreferences.edit(); 
      editor.putBoolean("toggleButton", s2.isChecked()); 
      editor.commit(); 
+0

убедитесь, что вы используете разные ключи для логического значения, сохраненного в вашей общей настройке для обеих кнопок togglebutton. – SubinM

+0

Я использую разные ключи для обоих из них, но оба установлены, когда нажимают один из них. – Sam

+0

любое другое предложение, которое вы хотите дать по этому поводу. – Sam

ответ

0

Я не уверен, что вы подразумеваете под различными «страниц» - вы имеете в виду Activities или Fragments, или что-то еще?

В любом случае, я бы предположил, что какой-то идентификатор или ключ тот же, из вашего описания - возможно, даже что-то в xml layout.

Если они разные виды деятельности, то, возможно, есть состояние гонки или что-то общее с жизненным циклом приложения, что приводит к сбою данных; но двойные и тройные проверяют все переменные, идентификаторы и ключи, прежде чем идти слишком далеко по теоретическому пути.

Если вы предоставите более подробную информацию, кто-то сможет ответить более эффективно. Ключевые фрагменты информации могут включать в себя любые асинхронные задачи или сведения о том, как запускаются действия, а также разъяснение остальной части структуры приложения и жизненного цикла.

+0

Да, это действия – Sam

+0

На самом деле у меня есть 1 tooglebutton в одном действии и 2-й в другой деятельности, i pu все идентификаторы и ключи разные для всех вещей ... но не получается, почему я нажимаю один из них, я проверяю на другом – Sam

+0

Для меня это действительно звучит как смешанная константа, переменная или строка ... Проверьте их снова и используйте поиск в своей среде IDE, чтобы быть уверенным ... – rholmes