मैं प्रोग्रामिक रूप से एक सूचीप्रदर्शन खोलने की कोशिश कर रहा हूं, जो वरीयता श्रेणी के भीतर मौजूद है।एंड्रॉइड ListPreference पर क्लिक करने या अनुकरण करने के लिए कैसे करें, जो प्राथमिकता श्रेणी के अंदर है?
<PreferenceScreen
android:key="pref_screen" >
<PreferenceCategory
android:title="Category"
andorid:key="pref_category">
<ListPreference
android:key="pref_list"
android:title="List" />
</PreferenceCategory>
</PreferenceScreen>
मेरा लक्ष्य "pref_list" खोलने के लिए प्रोग्राम के, और उपयोगकर्ता के लिए इसे प्रदर्शित है: XML संरचना कुछ की तरह है। मैं this विषय में देखा, इस समाधान की पेशकश:
// the preference screen your item is in must be known
PreferenceScreen screen = (PreferenceScreen) findPreference("pref_screen");
// the position of your item inside the preference screen above
int pos = findPreference("pref_list").getOrder();
// simulate a click/call it!!
screen.onItemClick(null, null, pos, 0);
यह PreferenceCategory के बिना एक PreferenceScreen के लिए पूरी तरह से काम करता है, लेकिन मैं इसे मेरे मामले के लिए काम नहीं मिल सकता है (ListPreference PreferenceCategory के अंदर स्थित है जब)।
मैं अपने मामले के लिए इसे कैसे संशोधित कर सकता हूं? या कोई अन्य समाधान है?
मुझे वरीयता श्रेणी में onItemClick()
के समान वरीयता श्रेणी में नहीं मिला। getOrder()
मेरे वरीयता श्रेणी के मूल्य के लिए 'pos' बदलना भी काम नहीं करता था।