我有一个简单的问题,我知道你可以使用:
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()的第二次调用。
我也试过创建自己的适配器,但是我有点迷失在这个烂摊子里。你们能指出我正确的方向吗?我不需要确切的代码,只需要链接到我可以阅读的库,或者它可能只是一个简单的代码调用。谁知道,也许我只是使用错误的参数,任何想法?
答案 0 :(得分:1)
您不能使用简单的ArrayAdapter
并显示多个数据。适配器将列表中的一个元素映射到listView中的一个元素。要让数据来自两个不同的部分,您需要创建自己的适配器(比声音更简单)。或者,您也可以使用SimpleAdapter
中的地图列表(see this作为示例)。
就个人而言,我建议使用自定义适配器。你最终将不得不编码,现在没有时间了。此外,您的代码将更具可读性和显着性。