2011-06-01 146 views
1

我在实现BaseAdapter工作来填充GridView时遇到了一些困难。 我已经绕BaseAdapter的工作几个问题的基础上,这里的例子:http://developer.android.com/resources/tutorials/views/hello-gridview.html使用BaseAdapter填充GridView

在我的实现,我BaseAdapter.getCount()方法返回130。因此我本来期望的getView()方法每次计数被调用一次。但是,据我所见,getView()只能调用大约70次....为什么会这样呢?

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

最后,我希望我的网格是10列宽和13行高。为了实现这一点,我只是将android:numColumns属性设置为10?

任何帮助理解这一点,赞赏。

谢谢。

回答

1
  • 然而,据我所看到getView()时才会激活大约70倍....这是为什么?

    它产生的观点,因为它们渲染到屏幕

  • 如果getView()被用于构建在网格中的每个位置的视图的对象,那么什么是的getItem()的目的,其返回一个Object?

getItem(int position)
获取与数据集的指定位置相关的数据项。

作为描述说,它返回与作为相对于视图为相同的位置该位置相关联的底层数据

  • 要做到这一点,我只是将android:numColumns属性设置为10?

安卓:为numColumns setNumColumns(INT)定义的列数显示。

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

+0

感谢您的答复。一旦我设法使稳定的仿真器工作,我将进一步测试这一点。最后一个问题......什么属性决定了我的网格中“正方形”的数量?现在我可以看到numColumns定义了列的数量,但是什么决定了行数? – DJ180 2011-06-01 17:07:55