Android 自定义 ListView/Adapter

Posted

技术标签:

【中文标题】Android 自定义 ListView/Adapter【英文标题】:Android Custom ListView/Adapter 【发布时间】:2015-03-28 04:50:51 【问题描述】:

我想将我的 listView 从普通的 ArrayAdapter (simple_list_item_1) 更改为更像这样的东西:

姓名.....得分(右中)。 日期(姓名)

所以有 3 个视图...

    姓名 日期 得分

我已经查看了如何制作自定义适配器和布局,但它们都非常令人困惑。我只想要一个可以添加到现有项目的简单修复。

这是我现在列表的代码:

//update listView
listAdapter = new ArrayAdapter<String>(GradesActivity.this, android.R.layout.simple_list_item_1, names);
mListView.setAdapter(listAdapter);

感谢您的帮助!

【问题讨论】:

所有数据都很好,但我只是不知道如何设计/实现自定义列表视图 您需要使用CustomAdapter CustomAdapter and custom_layout for row not android.R.layout.simple_list_item_1 【参考方案1】:

上周我也遇到了同样的问题。我的解决方案是网上的教程:http://androidtuts4u.blogspot.com.br/2013/02/android-list-view-using-custom-adapter.html

只需将代码复制并粘贴到临时项目中(不到 15 分钟)即可帮助您了解它的简单性,并使其非常清晰,以便您可以将其实施到您的原始项目中。希望对你有帮助!

和平!

【讨论】:

我真的很高兴它成功了。我希望您在项目中获得乐趣和成功。和平:)【参考方案2】:

ArrayAdapter 不能自动绑定三个视图

你可以试试 SimpleAdapter 或者自己扩展 BaseAdapter 实现

这是 Google 的培训

https://developer.android.com/training/material/lists-cards.html https://developer.android.com/training/wearables/ui/lists.html

这里是 SimpleAdapter 的示例http://www.java2s.com/Code/Android/UI/UsingSimpleAdaptertofilldatatoListView.htm

【讨论】:

【参考方案3】:

您需要进行许多修复 1. 创建一个扩展 BaseAdapter 的类。

    覆盖所有方法,创建该类的构造函数,用于初始化列表项

    你只是传递名字 listView listAdapter = new ArrayAdapter(GradesActivity.this, android.R.layout.simple_list_item_1, names);

创建一个包含您需要的三个元素的类,而不只是名称,即命名日期和分数,并在那里设置 get 和 set 方法 并且类的对象将保存在一个列表中。 4.在getview方法中你必须设置这些变量

【讨论】:

以上是关于Android 自定义 ListView/Adapter的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义 SeekBar

Android自定义水平进度条控件

自定义 Android Gradle -- 启动 zipalign 优化

Android自定义软键盘

[Android]自定义定时消失PopupWindow

Android 怎么自定义共享库