У меня есть вид сетки, в каждом из элементов которого есть два элемента, первое - изображение, второе - заголовок, заголовок невидим при запуске приложения, но у меня есть кнопка за пределами представления сетки, когда я нажимаю на нее, я хочу изменить видимость заголовков элементов Чтобы стать видимым, моя проблема в том, что я не могу получить доступ к каждому заголовку каждого элемента в представлении сетки.Когда я устанавливаю видимость заголовков (TextView) в методе onClick независимой кнопки в моем действии, он меняет видимость ТОЛЬКО для ПЕРВОГО элемента в представлении сетки!
Этот скетч представляет мой интерфейс, поэтому заголовки вначале невидимы, но когда я нажимаю «SetVisibilityButton», я хочу установить для них видимость:
Image1 Image2 Image3
Title1 Title2 Title3
Image4 Image5 Image6
Title4 Title5 Title6
Image7 Image8 Image9
Title7 Title8 Title9
----------------------------
SetVisibilityButton
____________________________
Я устанавливаю вид сетки в моем действии oncreate ():
favorGrid = (GridView) findViewById(R.id.favorGrid);
favorGrid.setAdapter(adapter);
В моем классе ImageAdapter это мой метод getView ():
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View MyView = convertView;
/*we define the view that will display on the grid*/
//Inflate the layout
LayoutInflater li = getLayoutInflater();
MyView = li.inflate(R.layout.favor_item, null);
// Add The Text!!!
TextView tv = (TextView)MyView.findViewById(R.id.title);
tv.setText(mTitles[position]);
// Add The Image!!!
ImageView iv = (ImageView)MyView.findViewById(R.id.favor_item_image);
iv.setImageResource(mThumbIds[position]);
return MyView;
}
Чтобы получить текстовое представление заголовка из моего основного действия и установить его видимость, я попробовал:
TextView title = (TextView) findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
и попробовал:
// gv is the gridview (R.id.gridview)
TextView title = (TextView)gv.findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
и попробовал:
LinearLayout layout = (LinearLayout) findViewById(R.id.gridLayout);
TextView title = (TextView)layout.findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
Но все эти решения устанавливают видимость только для первого элемента в представлении сетки.
Я потратил много времени на решение этой проблемы, но пока не нашел решения, может ли кто-нибудь помочь мне решить эту проблему, пожалуйста заранее спасибо