Я пытаюсь получить представление из GridView. К сожалению, он возвращает null
.GridView getChildAt() возвращает null
OnCreate():
GridView gridview = (GridView) findViewById(R.id.gridView);
gridview.getChildAt(3).setBackgroundResource(R.drawable.list_selector_holo_light);
gridview.getChildCount()
возвращает 0 тоже!
Что я могу сделать для этого просмотра? Я знаю, что есть возможность изменить фон в адаптере, но я должен сделать это динамически.
Спасибо за помощь!
РЕДАКТИРОВАТЬ
setAdapter:
gridview.setAdapter(new ImageAdapter(this));
ImageAdapter:
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
Если gridview.getChildCount() возвращает 0, то компоненты не были правильно добавлены в GridView. Можете ли вы поделиться кодом о том, как вы добавляете компоненты. –
Я добавил еще код. Спасибо. – Dennis
Я не вижу проблем с опубликованным кодом, вы вызываете findViewById() в onCreate, это после вызова setContentView()? – adonal3