Come accedere a un elemento specifico di ogni elemento di visualizzazione della griglia

StackOverflow https://stackoverflow.com/questions/8944326

  •  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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top