2016-06-10 1 views
4

Je suis nouveau sur Android. Dans mon application je veux faire quelque chose comme ceci: J'ai un conteneur et je veux ajouter l'article dynamiquement à lui, dans un article il peut y avoir certains champs, si l'arbre serait comme ceci:Comment ajouter dynamiquement des préférences dans l'écran des préférences et lier leurs valeurs?

main container 

- item 1 
    --field 1 
    --field 2 
    ... 
    --field n 
- item 2 
    --field 1 
    --filed 2 
....... 
- item n 
    --field 1 
    --field 2 
    ... 
    field n 

Je veux faire cela en utilisant les préférences, parce que j'ai besoin de stocker les informations de l'utilisateur dans l'application, mais je ne sais pas comment. Pouvez-vous m'aider s'il vous plaît?

Répondre

16

Vous devez créer un fichier xml avec un vide PreferenceScreen:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 

</PreferenceScreen> 

Ensuite, dans votre PreferenceFragment vous devez appeler la méthode suivante dans votre onCreate(Bundle savedInstanceState) {...}

addPreferencesFromResource(R.xml.pref_empty); 

Ensuite, vous pouvez ajouter Preference s comme ceci:

PreferenceScreen preferenceScreen = this.getPreferenceScreen(); 

// create preferences manually 
PreferenceCategory preferenceCategory = new PreferenceCategory(preferenceScreen.getContext()); 
preferenceCategory.setTitle("yourTitle"); 
// do anything you want with the preferencecategory here 
preferenceScreen.addPreference(preferenceCategory); 

Preference preference = new Preference(preferenceScreen.getContext()); 
preference.setTitle("yourTitle"); 
// do anything you want with the preferencey here 
preferenceCategory.addPreference(preference); 

Bien sûr, vous pouvez ajouter des préférences et des catégories dans une boucle pour les ajouter dynamiquement.

+1

Accepter comme réponse si cela a résolu le problème. – Talha