2
我想獲取GridView子項,我使用下面的代碼,但它不起作用。Android GridView獲取子項不起作用
mAppGridAdapter = new gridadapter(mContext, appPackageInfos);
mAppManaGridView.setAdapter(mAppGridAdapter);
if(mAppManaGridView.getCount()>0)
{
mAppManaGridView.setSelection(0);
Log.d("adan", "adan>" + mAppManaGridView.getCount());
Log.d("adan", mAppManaGridView.getFirstVisiblePosition() + ", " +mAppManaGridView.getLastVisiblePosition());
for(int visiblePosition = mAppManaGridView.getFirstVisiblePosition(); visiblePosition <= mAppManaGridView.getLastVisiblePosition(); visiblePosition++) {
View item = mAppManaGridView.getChildAt(visiblePosition);
// make something
Log.d("adan", "adan>" + item.getWidth()+"," +item.getHeight());
}
}
調試日誌信息中顯示,它可以讓孩子數,但它不能獲得在GridView中的任意子項:
D/adan (11457): adan>165
D/adan (11457): 0, -1
我也試過這個代碼,但返回item爲null,它會與nullPointerException一起崩潰。
if(mAppManaGridView.getCount()>0)
{
mAppManaGridView.setSelection(0);
Log.d("adan", "adan>" + mAppManaGridView.getCount());
View item = mAppManaGridView.getChildAt(0);
// make something
Log.d("adan", "adan>" + item.getWidth()+"," +item.getHeight());
}
你能幫我解決這個問題嗎?它困擾了我很多。
如果是動態生成的項目,那麼如何獲得該項目的大小GridView的? – gladman