2010-05-20 19 views
5

J'ai un PreferenceScreen qui est défini en XML et qui sert toutes les préférences pour mon application. Ce PreferenceScreen a également un enfant PreferenceScreen imbriqué en son sein. Ma classe d'implémentation s'appelle PreferencesActivity. Je sais que je peux ouvrir la fenêtre principale des Préférences via startActivity (new Intent (this, PreferencesActivity.class)); mais comment puis-je ouvrir l'enfant PreferenceScreen via une intention?Comment ouvrir un enfant imbriqué PreferenceScreen dans Android

Répondre

4

je l'ai étudié un certain temps sur ce sujet pour mon projet Theft Aware (http://www.theftaware.com) (un peu ... :-) publicité et j'ai trouvé la solution:

PreferenceScreen screen = getPreferenceScreen(); // gets the main preference screen  
screen.onItemClick(null, null, INDEX , 0); // click on the item 

où INDEX est la position de la article que vous voulez ouvrir sur l'écran

+0

Merci beaucoup !!! Je me demande si cela peut être adapté pour rendre le positionnement des articles agnostique. – Mike

+1

J'ai implémenté la méthode par Reinhard pour la résoudre plus généralement, voir le lien dans ma réponse à ma question! – Markus

3

voir this question pour une solution plus générale basée sur l'idée de Reinhard, enfin!

+0

Merveilleux, cela a beaucoup fonctionné pour moi! – gaborous

+0

Fonctionne, mais si vous utilisez PreferenceCategories assurez-vous de lire le code par deepak patel et utilisez-le, sinon 'getOrder' ne fonctionnera pas –