我在我的應用程序中使用PreferenceFragment。它從ListFragment中選擇時顯示。這個課程非常基礎:PreferenceFragment onPreferenceTreeClick沒有觸發
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");
}
}
它可以在小型設備上使用。當我在橫向平板上運行平板電腦時,會發生此問題。如果我從左側的ListFragment中單擊Preferences,MyPreferencesFragment顯示在右側。然後我可以選擇任何首選項並更改它們的值。我滾動首選項列表時發生問題。一旦我這樣做,單擊首選項列表中的任何項目都不會執行任何操作。我補充說:
@Override
public Boolean onPreferenceTreeClick (PreferenceScreen preferenceScreen, Preference preference) {
System.out.println("preference " + preference.getKey() + " selected");
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
看看是否會揭示出這種情況。它在事情正在工作時被調用,但是一旦我滾動列表,它就不再被調用。有人知道我需要做什麼才能在滾動後選擇首選項嗎?
兩個更多的數據點:
它工作在縱向的罰款。
如果我點擊電源按鈕關閉顯示屏(當顯示首選項列表時),當我重新打開屏幕時,即使在滾動後,我也可以選擇項目。從列表中重新選擇首選項會導致原始問題。
編輯:
我評論說,一個小的設備上的偉大工程,但它似乎有時有小的設備相同的問題。有什麼想法嗎?