44 votes

Liste de référence dynamique dans Android

Comment générer listPreference dynamique dans Android? Je veux obtenir tous les points d'accès wifi et faire une liste en utilisant de préférence Activité (c.-à-d. En faire une liste en utilisant listpreference). Comment faire ça?

27voto

Philio Points 1755

Chaque élément XML dans Android peut être créé par programme car le nom de l'élément est également une classe Java. Par conséquent, vous pouvez créer une ListPreference dans le code:

 CharSequence[] entries = { "One", "Two", "Three" };
CharSequence[] entryValues = { "1", "2", "3" };
ListPreference lp = new ListPreference(this);
lp.setEntries(entries);
lp.setEntryValues(entryValues);
 

Vous pouvez également le créer en XML, puis ajouter les entrées / valeurs d'entrée dans le code:

 CharSequence[] entries = { "One", "Two", "Three" };
CharSequence[] entryValues = { "1", "2", "3" };
ListPreference lp = (ListPreference)findPreference("list_key_as_defined_in_xml");
lp.setEntries(entries);
lp.setEntryValues(entryValues);
 

26voto

Dijo David Points 1435

Pour la création d'une liste dynamique de préférence, u besoin de créer une activité de préférence (c'est à dire d'étendre une activité PreferenceActivity).

Le code suivant peut être utilisé pour créer la liste de façon dynamique.

// La racine
 PreferenceScreen root = getPreferenceManager().createPreferenceScreen(ce);
 dialogBasedPrefCat.setTitle("Titre de la Catégorie");
 de la racine.addPreference(dialogBasedPrefCat); //Ajout d'une catégorie

 // Liste de préférence dans la catégorie
 ListPreference listPref = new ListPreference(ce);
 listPref.setKey("keyName"); //Consulter pour obtenir la pref valeur
 listPref.setEntries("Tableau de valeurs");
 listPref.setEntryValues("Tableau de valeur de l'élément");
 listPref.setDialogTitle (boîte de Dialogue"Titre"); 
listPref.setTitle("Titre");
listPref.setSummary("Résumé");
 dialogBasedPrefCat.addPreference(listPref); l'Ajout dans la catégorie

 de retour de la racine;

Espérons que cela aide à obtenir un !dea...

EDIT:

Créer et ajouter des valeurs à CharSequence[] comme ceci:

CharSequence[] cs = new String[]{"myValue"};

1voto

Marian Paździoch Points 164

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X