Я использую PreferenceFragment в своем приложении. Отображается при выборе из списка. Класс довольно простой:PreferenceFragment onPreferenceTreeClick not firing
public class MyPreferencesFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
@Override
public void onResume() {
super.onResume();
getActivity().setTitle("Preferences");
}
}
Он отлично работает на небольшом устройстве. Проблема возникает, когда я запускаю планшет в альбомной ориентации. Если я нажму «Настройки» в списке «Список», слева, MyPreferencesFragment появится справа. Затем я могу выбрать любые настройки и изменить их значения. Проблема возникает, когда я просматриваю список настроек. Как только я это сделаю, нажатие любого из элементов в списке предпочтений ничего не делает. Я добавил:
@Override
public Boolean onPreferenceTreeClick (PreferenceScreen preferenceScreen, Preference preference) {
System.out.println("preference " + preference.getKey() + " selected");
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
, чтобы узнать, может ли это пролить свет на ситуацию. Он вызывается, когда все работает, но как только я просматриваю список, он больше не вызывается. Кто-нибудь знает, что мне нужно сделать, чтобы выбрать предпочтение после прокрутки? больше
Две точки данных:
Он отлично работает в портретной ориентации.
Если я нажму кнопку питания, чтобы выключить дисплей (пока отображается список предпочтений), когда я снова включу экран, я могу выбрать элементы даже после прокрутки. При повторном выборе настроек из списка в этой точке возникает исходная проблема.
EDIT:
Я заметил, что он прекрасно работает на небольшом устройстве, но это, кажется, иногда имеют один и тот же вопрос с небольшими устройствами. Есть предположения?