arrays array - Android quale indice dei pulsanti della matrice è stato premuto





resource get (3)


OnClickListener riceverà il pulsante stesso, ad esempio R.id.Button01. Non ti restituirà l'indice dell'array, poiché non sa nulla di come hai riferimenti a tutti i pulsanti memorizzati in un array.

Potresti semplicemente utilizzare il pulsante che è passato direttamente a onClickListener, senza necessità di ulteriori ricerche nell'array. Ad esempio:

void onClick(View v)
{
   Button clickedButton = (Button) v;

   // do what I need to do when a button is clicked here...
   switch (clickedButton.getId())
   {
      case R.id.Button01:
          // do something
          break;

      case R.id.Button01:
          // do something
          break;
   }
}

Se sei davvero pronto a trovare l'indice dell'array del pulsante su cui è stato fatto clic, allora potresti fare qualcosa del tipo:

void onClick(View v)
{
   int index = 0;
   for (int i = 0; i < buttonArray.length; i++)
   {
      if (buttonArray[i].getId() == v.getId())
      {
         index = i;
         break;
      }
   }

   // index is now the array index of the button that was clicked
}

Ma questo sembra davvero il modo più inefficiente di fare questo. Forse se fornissi più informazioni su ciò che stai cercando di ottenere nel tuo OnClickListener, potrei darti più aiuto.

Come faccio a configurare un OnClickListener per dirmi semplicemente quale pulsante indice è stato premuto da una serie di pulsanti. Posso cambiare il testo e il colore di questi pulsanti usando l'array. Li ho sistemati in questo modo.

 TButton[1] = (Button)findViewById(R.id.Button01);
 TButton[2] = (Button)findViewById(R.id.Button02);
 TButton[3] = (Button)findViewById(R.id.Button03);

fino a 36.




Puoi impostare il valore del tag e ottenere il tag al clic:

TButton[1] = (Button)findViewById(R.id.Button01);
TButton[1].setTag(1);


onClick(View v)
{
  if(((Integer)v.getTag())==1)
  {
   //do something
  }
}



Citando la pagina Forms nel manuale HTML:

I pulsanti creati con l'elemento BUTTON funzionano proprio come i pulsanti creati con l'elemento INPUT, ma offrono possibilità di rendering più ricche: l'elemento BUTTON potrebbe avere dei contenuti. Ad esempio, un elemento BUTTON che contiene un'immagine funziona come e potrebbe somigliare a un elemento INPUT il cui tipo è impostato su "immagine", ma il tipo di elemento BUTTON consente il contenuto.





android arrays button