0

我有一个简单的问题,我知道你可以使用:

setListAdapter(new ArrayAdapter<String> (getActivity(), 
                R.layout.your_layout,
                R.id.your_text,
                stringArray));  

在onActivityCreated() 方法的ListFragment内。到目前为止,这对我来说效果很好,但只涵盖了一项。例如,假设在布局中,我有两个 TextView:sms_text 和 sms_timestamp;分别由 smsTextArray [] 和 smsTimeStampArray [] 填充。那个电话会怎么样?我试过:

setListAdapter(new ArrayAdapter<String> (getActivity(), 
                R.layout.tweet_list_item,
                R.id.sms_text,
                smsTextArray,
                R.id.sms_timestamp,
                smsTimeStampArray,
                ));     

那没有用:(

我还尝试在同一个 onActivityCreated() 中调用 setListAdapter() 两次,但尽管这样有效,但它只在列表项中显示了 setListAdapter() 的第二次调用。

我也尝试创建自己的适配器,但我有点迷失在那个混乱中。你们能指出我正确的方向吗?我不需要确切的代码,只需要一个我可以阅读的库的链接,或者它可能只是一个代码调用。谁知道,也许我只是使用了错误的参数,有什么想法吗?

4

1 回答 1

1

您不能使用简单的ArrayAdapter并显示多条数据。适配器将列表中的一个元素映射到 listView 中的一个元素。要让数据来自两个不同的部分,您需要创建自己的适配器(比听起来简单)。或者,您也可以在 a 中使用地图列表SimpleAdapter参见示例)。

就个人而言,我建议使用自定义适配器。您最终将不得不编写一个代码,并且没有像现在这样的时间。另外,您的代码将更具可读性和明显性。

于 2012-09-10T04:05:22.597 回答