假设 GridView 有以下子项:
0 1 2
3 4 5
6 7 8
当它们都可见时,getChildAt(5) 返回子 5。如果第一行不可见,我相信 getChildAt(5) 返回子 8。
我的理解正确吗?如果是这样,我怎样才能始终获得具有指定索引的 GridView 的孩子?
以下代码是我想如何使用位图 bm 更新位置 iPosition 的孩子:
GridView gridview = (GridView) findViewById(R.id.gridview);
View vGrid = gridview.getChildAt(iPosition);
ImageView iv = (ImageView) vGrid.findViewById(R.id.imageView);
iv.setImageBitmap(bm);
适配器的getView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vGrid;
if (convertView == null) { // if it's not recycled, initialize some attributes
vGrid = new View(activity);
LayoutInflater li = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vGrid = li.inflate(R.layout.devicetile, parent, false);
} else {
vGrid = convertView;
}
ImageView iv = (ImageView) vGrid.findViewById(R.id.imageView);
iv.setImageBitmap(null);
return vGrid;
}