如何将偏好动态添加到偏好设置屏幕并绑定其值?
问题描述:
我是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
我想要使用偏好来做到这一点,因为我需要在应用中存储用户的信息,但不知道如何。你能帮我吗?
答
您需要创建一个空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);
当然,您可以在循环中添加首选项和类别以动态添加它们。
接受为答案,如果这解决了问题。 – Talha