Попытка вызвать виртуальный метод для ссылки на нулевой объект android .preference.Listpreference.onPreferenceChangeListener - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь добавить оценку, когда нажимается настройка, и у меня возникают проблемы с прослушивателем при изменении, он даже не запускается после LP.setOnPreferenceChangeListener Я думал использовать случай переключения, но проблема в Onchangelistener имеет значение null

 public void CheckSettings()
{
    ListPreference LP = (ListPreference) findPreference("list_pref_Tested");
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    Rewards rewards = new Rewards();
    String cases = sp.getString("list_pref_Tested","false");
    if ("1".equals(cases))
    {
        rewards.Tested_Covid_Positive();
    }
    else if ("2".equals(cases))
    {
        rewards.Tested_Covid_Negative();
    }
    else if ("3".equals(cases))
    {
        rewards.No_Test();
    }

    LP.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference prefs, Object obj) {
            String items = (String) obj;
            if (prefs.getKey().equals("\"list_pref_Tested\""))
            {
                switch (items)
                {
                    case"1":
                        rewards.Tested_Covid_Positive();
                        break;
                    case"2":
                        rewards.Tested_Covid_Negative();
                        break;
                    case"3":
                        rewards.No_Test();
                        break;
                }
            }
            return true;
        }
    });


}
...