如何将多个项传递到ArrayAdapter?

时间:2012-06-27 01:24:37

标签: android listview android-arrayadapter

目前我有一个扩展ArrayAdapter的自定义适配器。在我的ListView中,我有一个名为ImageView的{​​{1}}用于联系人照片, 3 photo用于联系人姓名(TextViews),消息(contactName)和计数器(contactMSG)。到目前为止,我的构造函数传递到我的contactMSGcounter我的Activity中看起来像这样:

ListView

这只会接收// newlist contains all queried contacts CustomAdapter cAdapt = new CustomAdapter(this, android.R.layout.simple_list_item_1, newlist); 个联系人姓名。

从开发者网站,我可以使用许多不同的构造函数:

http://developer.android.com/reference/android/widget/ArrayAdapter.html

如何将所有上述对象传递给构造函数?我假设ArrayList是可能的解决方案,但如果这是真的,我该如何使用它?

2 个答案:

答案 0 :(得分:1)

SpicyWeenie,

要为适配器提供某些数据,您可以使用 POJO

创建一个包含一些属性的简单类&功能并列出此对象。

ArrayList<MyContactObject> myList = new ArrayList<MyContactObject>();

要使用您的联系人填充列表,您可以使用Contacts(Android 2.0以下)或ContactsContract(Android 2.0及更高版本)课程。 有关如何阅读联系人的示例,请访问:Link

就像jack57所说,你可以自己制作一个自定义XML来提供你想要的布局。另外一个链接,我认为您可能会发现以下内容:logc.at。他们有一个伟大而干净的ListView实现。尝试遵循结构,因为它简单易维护。

祝你好运!

答案 1 :(得分:0)

  1. 使用您提到的那些文本和图像视图创建一个XML资源,并按照您希望的方式进行格式化。
  2. 传递XML id,例如。 R.id.myXml,你去了。
  3. 在CustomAdapter内部,通过使用findByViewId调用视图来处理业务,并且您已全部设置。