Android sharedpreferences принудительно закрывается - PullRequest
0 голосов
/ 27 июня 2011

Я пытаюсь использовать sharedpreferences в PreferenceActivity, но, к сожалению, оно принудительно закрывается. Часть этого:

public class EditPreferences extends PreferenceActivity {

String ListPreference;
boolean CheckboxPreference;
SharedPreferences mprefs;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);


final CheckBoxPreference checkboxPref = (CheckBoxPreference) getPreferenceManager().findPreference("checkboxPref");

checkboxPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {            
public boolean onPreferenceChange(Preference preference, Object newValue) {
    if (newValue.toString().equals("true"))
    {  
        Toast.makeText(getApplicationContext(), "CB: " + "true", Toast.LENGTH_SHORT).show();
        SharedPreferences.Editor edit = mprefs.edit();
        edit.putString("cbstate", "true");
        edit.commit();
    } 
    else 
    {  
        Toast.makeText(getApplicationContext(), "CB: " + "false", Toast.LENGTH_SHORT).show();
    SharedPreferences.Editor edit = mprefs.edit(); //this line force closes
        edit.putString("cbstate", "false");
        edit.commit();
    }
    return true;
}

});

Что не так с кодом? Спасибо, B

Ответы [ 2 ]

1 голос
/ 27 июня 2011

Вы должны посмотреть в журнале, чтобы увидеть обход стека исключения, который говорит вам, почему ваш код падает.

Я не добавляю это как вопрос для разъяснения, потому что тот факт, что стекcrawl не включен в вопрос, это явный признак того, что вы на самом деле не смотрели на него, и если это так, то ответ на ваш вопрос и наиболее вероятное решение вашей проблемы - это посмотреть на это и понять, почемуговорит, что ты разбиваешься.

1 голос
/ 27 июня 2011

Не похоже, что mprefs когда-либо присваивается значение (если это не происходит где-то еще)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...