Come get onClickListener per arrays di pulsanti Android per funzionare

Ho creato una serie dynamic di pulsanti provenienti da database sqllite. Per la vita di me non riesco a get un listener di click che sia stato impostato per indirizzare ciascun button singolarmente. Ho cercato 3 ore senza successo.

Qualsiasi aiuto sarebbe apprezzato. Non preoccuparti del crap del database, è solo l'ascoltatore.

  • OCR applicazione Android che utilizza Tesseract
  • creando una DialogPreference da XML
  • Android Service Listener per lo schermo wakelock
  • App di Android TCP appesa in inStream.readline ()
  • java.io.EOFException usando ksoap2 lib libcore.io.Streams.readAsciiLine (Streams.java.203)
  • le mappe android smettono di rispondere dopo la ripresa del frammento
  • imports... public class CreatePlayList extends Activity { ScrollView scrollleft, scrollright; LinearLayout songsright, songsleft; TextView testtext; String[][] allsongs; int numofsongs, i; Button b1[]; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.createplaylist); scrollleft = (ScrollView) findViewById(R.id.scrollleft); scrollright = (ScrollView) findViewById(R.id.scrollright); songsright = (LinearLayout) findViewById(R.id.layRight); songsleft = (LinearLayout) findViewById(R.id.layLeft); LyricDb connect = new LyricDb(CreatePlayList.this); connect.open(); numofsongs = connect.getNumSongs(); b1 = new Button[(numofsongs)]; allsongs = new String[numofsongs][2]; allsongs = connect.getSongArray(); connect.close(); testtext = new TextView(this); testtext.setText("Test"); songsleft.addView(testtext); for (i = 0; i < allsongs.length; i++) { b1[i] = new Button(this); b1[i].setText(allsongs[i][1]); songsright.addView(b1[i]); } b1[19].setText("test 123"); createClic(); } public void createClic(){ for (i = 0; i < (allsongs.length - 1); i++) { b1[i].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub testtext.setText(b1[i].getText()); } }); } } } 

  • Avvia Google Maps App con posizione e marcatore fornito
  • Tentare di mockito implori qualsiasi class genera ExceptionInInitializerError
  • Come impedire l'output accidentale di applicazioni con i frammenti / attività Android?
  • Qual è l'ordine corretto di call methods di superclass in methods onPause, onStop e onDestroy? e perché?
  • Errore in Android --Non è ansible trovare informazioni sulla strumentazione per: ComponentInfo
  • Quanti ViewStubs sono troppi per un singolo file XML di layout?
  • 3 Solutions collect form web for “Come get onClickListener per arrays di pulsanti Android per funzionare”

    Scacciare il 'i' dichiarato a livello di class. Sostituire il metodo con questo (il button "TheButton" deve restare "finale").

     public void createClic() { for (int i = 0; i < (allsongs.length - 1); i++) { final Button theButton = b1[i]; theButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub testtext.setText(theButton.getText()); } }); } } 

    Prima di implementare OnClickListener nell'attività e call il metodo setOnClickListener () su tutti i pulsanti quando lo crei.

     b[i].setOnClickListener(this); and also set id with each button b[i].setId(i); //and override this method @Override public void onClick(View v) { //here check which button called if(v.getId==1) { //its Button 1 do what ever u want } if(v.getId==2) { //its Button 2 do what ever u want its Button 2 } ...... } 

    Prova una volta …

     b1[i] = new Button[allsongs.length]; for (i = 0; i < allsongs.length; i++) { b1[i].setText(allsongs[i][1]); songsright.addView(b1[i]); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.