画面に表示されていないグリッドビューの子ビューにアクセスして変更することはできますか?
グリッドビューを反復処理するときにgetCount()を使用しようとしましたが、(画面表示で)表示されていない子に到達すると、タイプ(ImageViewsである必要があります)が失われ、何もできなくなります。彼らのイメージを変えたい。
コードのスニペット。
GridView gridView = (GridView) findViewById(R.id.grid_view);
Integer items = gridView.getCount();
Log.d(TAG, "1)child count::"+((ViewGroup)gridView).getChildCount());
Log.d(TAG, "2)get count::"+items);
for (int i=0; i < items; ++i) {
View nextChild = ((ViewGroup)gridView).getChildAt(i);
if (nextChild instanceof ImageView) {
Log.i(TAG, i+" is imageview");
((ImageView) nextChild).setImageResource(R.drawable.arrow2);
} else {
Log.i(TAG, i+" is NOT imageview");
}
}