代码之家  ›  专栏  ›  技术社区  ›  Wonko the Sane

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

  •  2
  • Wonko the Sane  · 技术社区  · 14 年前

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

    如果未将列表定义为与自定义首选项活动关联的内容的一部分,则会出现以下运行时异常:

    您的内容必须具有列表视图 其id属性为 'android.R.id.list'

    我正在尝试创建一个自定义首选项活动,该活动显示两个列表:

    1. 一个列表将选择添加到另一个列表
    2. 允许用户上下移动或删除项目的列表(可能有上下文菜单)

    做这件事的“首选”方式是什么?

    谢谢, 水处理系统

    3 回复  |  直到 14 年前
        1
  •  1
  •   Peter Knego    14 年前

    PreferenceActivity扩展了ListActivity,因此我认为它需要一个列表。

    当我不理解时,我更喜欢的方法是使用源代码: PreferenceActivity

    编辑:

    我会采取这种方法:

    1. 将PreferenceActivity复制到新类。

    2. 为您的活动创建自己的布局(查看 ListActivity docs ). 添加第二个列表视图。

    3. 确保所有操作都作为原始首选项活动进行。

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

        2
  •  1
  •   cV2    13 年前

    问题是您可能使用从xml文件加载并使用的设置

    setContentView(布局ID); ...

    用途:addPreferencesFromResource(layoutId); 相反。

    您可以跳过“Peter Knego”所描述的步骤,直接使用首选项而不添加listview。

        3
  •  0
  •   laplasz    12 年前

    您可以将首选项添加到 首选项屏幕 使用 对于 多次添加的语句

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