【问题标题】:simple_list_item_2 in AndroidAndroid 中的 simple_list_item_2
【发布时间】:2010-06-08 07:54:08
【问题描述】:

在使用simple_list_item_1 创建了一些菜单后(效果很好),我尝试将其替换为simple_list_item_2,但我的系统抛出异常...

现在我想知道如何为我的列表创建这样一个两个不同大小的行条目...对于初学者有什么陷阱吗?有人可以帮我解决我的(小!?)问题吗?

我的代码如下所示:

ListAdapter listAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_2, fileNames);
setListAdapter(listAdapter);

我的String[] fileNames 存储所有要按升序显示的字符串(这对功能有影响吗?!)

在一些论坛搜索失败后,我现在希望大家能给我一个有用的建议。

问候, 泊松

【问题讨论】:

    标签: android menu listactivity


    【解决方案1】:

    simple_list_item_2 不同,它包含一个包含 两个 TextViews 的 TwoLineListItem,而不仅仅是一个 TextView。 ArrayAdapter 在这里不起作用,因为您使用的构造函数只需要一个 TextView;看看constructors。相反,您要么必须创建一个自定义适配器,要么使用支持它的适配器,如 SimpleCursorAdapter 或(我认为)SimpleAdapter。 This guy 有一个有点老套的解决方案,可能对你有用。

    【讨论】:

    • 嗨,感谢您的回复 :) 我会尝试一下并告诉您它是否/如何工作
    • 你好,我试过了,效果很好……唯一不明白的是,为什么需要 Map(或 HashMap)?
    • 我猜是因为它的预期用途实际上是从已经存在于键值对中的事物中提取数据,所以对于这个目的来说是有意义的。不过,没有理由不能有 2dArrayAdapter 之类的东西。顺便说一下,这是另一个很好的示例用法:stackoverflow.com/questions/2227154/…
    • 嗨,是否可以给 simple_list_item_2 - 对象交替的背景颜色?
    • 在布局中指定。simple_list_item_2 在 SDK 中可用。复制它。并修改它。将您的适配器引用到此 XML
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多