我在让我的 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/