Come accedere a un elemento specifico di ogni elemento di visualizzazione della griglia
-
07-11-2019 - |
Domanda
Ho una griglia in cui ci sono due elementi in ciascuno dei suoi elementi, il primo è un'immagine e il secondo è un titolo, il titolo è invisibile nel lancio dell'applicazione, ma ho un pulsante fuori dalla vista della griglia che quando Faccio clic su di esso, voglio cambiare la visibilità dei titoli degli articoli per diventare visibile, il mio problema è che non posso accedere a ciascun titolo di ciascun elemento nella vista della griglia. Quando ho impostato la visibilità dei titoli (TextView) nel metodo OnClick del pulsante indipendente nella mia attività, cambia la visibilità solo per il primo elemento nella vista della griglia!
Questo schizzo rappresenta la mia interfaccia, quindi i titoli sono invisibili all'inizio, ma quando faccio clic su "SetVisibilityButton", voglio impostarli su visibili:
Image1 Image2 Image3
Title1 Title2 Title3
Image4 Image5 Image6
Title4 Title5 Title6
Image7 Image8 Image9
Title7 Title8 Title9
----------------------------
SetVisibilityButton
____________________________
Ho impostato la vista della griglia nella mia attività OnCreate ():
favorGrid = (GridView) findViewById(R.id.favorGrid);
favorGrid.setAdapter(adapter);
Nella mia classe ImageAdapter, questo è il mio metodo 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;
}
Per ottenere il titolo TextView dalla mia attività principale e impostare la sua visibilità, ho provato:
TextView title = (TextView) findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
e ho provato:
// gv is the gridview (R.id.gridview)
TextView title = (TextView)gv.findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
e ho provato:
LinearLayout layout = (LinearLayout) findViewById(R.id.gridLayout);
TextView title = (TextView)layout.findViewById(R.id.title);
title.setVisibility(View.VISIBLE);
Ma tutte queste soluzioni fissano la visibilità solo per il primo elemento nella vista della griglia.
Ho trascorso molto tempo con questo problema ma non ho ancora trovato una soluzione, qualcuno potrebbe aiutarmi a risolverlo per favore grazie in anticipo
Nessuna soluzione corretta