2016-09-10 4 views
0

Hallo alle, die ich eine Steuerplatine mit dynamisch erstellten Umschaltflächen implementieren, wo die Anzahl der Umschalttasten auch dynamisch ist, habe ich eine Schwierigkeit, eine Funktion an die dynamisch erstellten Tasten,Anhören dynamisch erstellten Umschaltfläche in Android

anhängen
for (int i = 0; i < len; i++) { 
ToggleButton tb[i] = new ToggleButton(this); 
      LinearLayout.LayoutParams tbparams = new LinearLayout.LayoutParams 
        (90, LinearLayout.LayoutParams.WRAP_CONTENT); 
      tbparams.setMargins(120, 0, 0, 0); 
      tb[i].setBackgroundResource(R.drawable.bgtoggle); 
      tb[i].setId(i+1); 
      tb[i].setText("toggle_btn"+i+1); 
      tb[i].setPadding(4, 4, 4, 4); 
      tb[i].setLayoutParams(tbparams); 
} 
+0

Was ist das Problem beim Erstellen von Umschaltfläche? – dipali

+0

tb.setOnClickListener()? sollte funktionieren, was ist das Problem, vor dem Sie stehen? –

Antwort

0

Sorry für diese Verspätung, ich hoffe, jemand wird es dauern als nützlich

tb[i].setOnCheckedChangeListener(handleOnClick(tb[i],tb[i].getId(), 
tb[i].getTag(),iv[i],iv[i].getTag())); 
/*Function declartion for dynamic Toggle button listening provided a tag is provide to uniquely identify the dyanmic buttons*/ 

// Toggle-Taste Funktion

private CompoundButton.OnCheckedChangeListener handleOnClick(final ToggleButton toggleButton, final int id, final Object tag) { 
............................ //Do your wish 
} 
0

Implementieren einen CheckedChangeListener als:

OnCheckedChangeListener listener = new 
    CompoundButton.OnCheckedChangeListener(){ 
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     if (isChecked) { 
      // The toggle is enabled 
     } else { 
      // The toggle is disabled 
     } 
} 

und legen Sie es als:

tb.setOnCheckedChangeListener(listener); 

Sie können die ID der getoggelt Taste abrufen, indem buttonView.getId() in onCheckedChanged Methode aufgerufen und spezifische Aufgabe zu tun, basierend auf Id .

Verwandte Themen