Я пытаюсь протестировать настройки Android, и меня немного смущает вопрос о том, как этого добиться.
Вот мои предпочтения
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:id="@+id/numberListPreference"
android:defaultValue="3"
android:entries="@array/number_text"
android:entryValues="@array/number_value"
android:key="@string/pref_key"
android:summary="@string/pref_summary"
android:title="@string/pref_title" />
</PreferenceScreen>
Я хочу проверить, что когда я изменяю число в отображаемой ListPreference, SharedPreference действительно изменяется.
Прямо сейчас, код работает, я просто блокирую часть тестирования.
Вот часть моей деятельности:
public class SettingActivity extends AppCompatActivity implements
SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager()
.beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
}
Проблема в том, что у меня есть классическая ошибка «Если целевое представление не является частью иерархии представления».
Любая помощь приветствуется.
Спасибо!