2016-06-10 68 views
4

我是Android新手。 在我的應用程序我想要做這樣的事情: 我有一個容器,我想動態添加項目到它,在一個項目可能有一些領域,所以樹會是這樣:如何將偏好動態添加到偏好設置屏幕並綁定其值?

main container 

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

我想要使​​用偏好來做到這一點,因爲我需要在應用中存儲用戶的信息,但不知道如何。你能幫我嗎?

回答

16

您需要創建一個空PreferenceScreen的XML文件:

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

</PreferenceScreen> 

然後在你的PreferenceFragment必須調用下面的方法在您onCreate(Bundle savedInstanceState) {...}

addPreferencesFromResource(R.xml.pref_empty); 

之後,您可以添加Preference就像這個:

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); 

當然,您可以在循環中添加首選項和類別以動態添加它們。

+1

接受爲答案,如果這解決了問題。 – Talha