2011-06-01 129 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