【问题标题】:Custom View Adapter for GridViewGridView 的自定义视图适配器
【发布时间】:2013-12-04 04:30:53
【问题描述】:

我有一个 GridView 布局,并希望使用通用视图(按钮、TextView、EditText 和自定义视图)填充它。我已经尝试过基本的 ArrayAdapter:

ArrayAdapter<View> adapter = new ArrayAdapter<View>(this, android.R.layout.simple_list_item_1, currentList);

currentList 是一个数组列表

不幸的是,它给了我一个错误,从我在线阅读的内容来看,我需要一个自定义适配器,但是所有自定义适配器都需要您对 xml 文件进行扩充。谁能指出我正确的方向?

【问题讨论】:

  • 您需要使用自定义适配器。是的,您需要为列表视图中的每一行添加一个自定义 xml
  • 但是我要膨胀什么?所有这些都是动态完成的。
  • 扩充自定义布局。创建一个类public class CustomAdapter extends BaseAdapter 覆盖getView 使用editext 和按钮膨胀自定义布局。将自定义适配器设置为 gridview。 androidhive.info/2012/02/… 而不是 listview 使用 gridview。概念是一样的

标签: android gridview android-adapter baseadapter


【解决方案1】:

您的 arrayadapter 不应该是视图的集合,因为视图会被回收。相反,它应该是包含特定项目所需数据的对象集合。

适配器 getView 将返回包含视图。通常你只会膨胀一个布局,但没有什么能阻止你像线性布局一样动态创建 ViewGroup,然后在代码中添加每个视图。

布局非常灵活,但在大多数情况下,您实际上并不需要动态地进行布局。如果您研究视图类型,您会发现根据您要显示的项目类型管理不同的布局很容易

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 2011-12-31
    相关资源
    最近更新 更多