Estoy tratando de abrir programáticamente una ListPreference, que existe dentro de PreferenceCategory. La estructura XML es algo así como:Cómo abrir o simular haga clic en Android ListPreference, que está dentro de la categoría de preferencia?
<PreferenceScreen
android:key="pref_screen" >
<PreferenceCategory
android:title="Category"
andorid:key="pref_category">
<ListPreference
android:key="pref_list"
android:title="List" />
</PreferenceCategory>
</PreferenceScreen>
Mi objetivo es abrir "pref_list" programáticamente, y mostrarlo al usuario. Miré en this tema, que ofrece esta solución:
// 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);
Esto funciona perfectamente para una pantalla PREFERENCE sin PreferenceCategory, pero no puedo hacerlo funcionar en mi caso (Cuando el ListPreference se encuentra dentro PreferenceCategory).
¿Cómo puedo modificar esto para mi caso? ¿O hay alguna otra solución?
No pude encontrar en PreferenceCategory un método similar al onItemClick()
de PreferenceScreen. Cambiar la 'pos' para el valor getOrder()
de mi PreferenceCategory tampoco funcionó.