android - 使用 BaseAdapter 填充 GridView

标签 android

我在让我的 BaseAdapter 实现工作以填充 GridView 时遇到了一些困难。 基于此处的示例,我对 BaseAdapter 的工作有一些疑问:http://developer.android.com/resources/tutorials/views/hello-gridview.html

在我的实现中,我的 BaseAdapter.getCount() 方法返回 130。因此我希望 getView() 方法为每个计数调用一次。然而,据我所知,getView() 只被调用了大约 70 次……这是为什么?

如果用getView()在grid的每个位置构造View对象,那么getItem()返回一个Object的目的是什么?

最后,我希望我的网格为 10 列宽和 13 行高。为此,我是否只需将 android:numColumns 属性设置为 10?

理解这一点的任何帮助都将不胜感激。

谢谢。

最佳答案

  • 但是,据我所知,getView() 只被调用了大约 70 次....这是为什么?

    它在将 View 呈现到屏幕时生成 View

  • 如果使用getView()在网格中的每个位置构造View对象,那么getItem()返回一个Object的目的是什么?

getItem(int position)
Get the data item associated with the specified position in the data set.

如描述所述,它返回与该仓位关联的基础数据,而不是同一仓位的 View

  • 为此,我是否只需将 android:numColumns 属性设置为 10?

android:numColumns setNumColumns(int) Defines how many columns to show.

这里的描述很明确。
顺便说一句,这最后一个问题你可以很容易地测试自己而不是在这里问...

关于android - 使用 BaseAdapter 填充 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6202813/

相关文章:

java - Android Studio 错误 "Unsupported class file major version 61"

Android Room - 在查询中使用外键

android - Toast 警告对话框未显示在 ListView 中

java - 如何使用 MediaPlayer 获取流媒体比特率?

Android 在 Adapter kotlin 中选择和取消选择项目时出现问题?

安卓.content.res.Resources$NotFoundException : Resource is not a Drawable (color or path):

java - fragment 加载重复值,可能的原因?

android - android studio IDE中的Kotlin编译器预发布问题

java - 是否可以在 Android < API 24 中使用默认接口(interface)实现?

android - 在加载之前获取图像的宽度和高度