2010-11-15 70 views
1

自定义首选活动需要定义列表吗?自定义首选活动是否需要定义列表

如果我不定义列表与我的自定义PreferenceActivity有关我的内容的一部分,我得到以下的RuntimeException:

您的内容必须有一个ListView 其id属性是 “android.R .id.list”

我试图创建一个自定义PreferenceActivity显示两个列表:

  1. 一个列表,增加了选择到其他列表
  2. 一个列表,允许用户向上或向下移动项目,或将其删除(可能与上下文菜单)

什么是“优选”的方式这样做?

感谢, WTS

回答

2

PreferenceActivity扩展ListActivity,所以我认为它需要一个列表。

当我不明白的事情我的首选方式是使用Source®:PreferenceActivity

编辑:

我会采取这种做法:

  1. 复制PreferenceActivity到一个新的班级。

  2. 为您的活动创建自己的布局(看看ListActivity docs)。向它添加第二个ListView。

  3. 确保所有工作原始PreferenceActivity。

  4. 开始为第二个ListView添加代码。

2

问题ü可能使用从XML文件加载的设置和使用

的setContentView(layoutId); ...

use:addPreferencesFromResource(layoutId);改为 。

您可以跳过'Peter Knego'所描述的步骤,并且可以直接使用首选项而无需添加列表视图。

0

您可以添加偏好您PreferenceScreen使用语句添加它多次

public void onCreate(Bundle savedInstanceState) { 

    addPreferencesFromResource(R.xml.preferences); 
    PreferenceScreen preference; 
    preferenceScreen = getPreferenceScreen(); 
    PreferenceScreen new_preference = new Preference(this); 
    new_preference.setKey("unique_key"); 
    new_preference.setTitle("new_title"); 
    preferenceSreen.addPreference(new_preference); 
}