2016-09-10 2 views
0

Привет всем, я внедряю панель управления с динамически создаваемыми кнопками переключения, где число кнопок переключения также динамично, мне сложно добавить функцию к динамически созданным кнопкам,Прослушивание динамически созданной кнопки переключения в android

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

Что является проблемой для создания кнопки переключения? – dipali

+0

tb.setOnClickListener()? должен работать, в чем проблема, с которой вы сталкиваетесь? –

ответ

0

Извините за это последнее время, я надеюсь, что кто-то будет считать полезными

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*/ 

// Переключение функции кнопки

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

Реализовать CheckedChangeListener как:

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

и установить его в качестве:

tb.setOnCheckedChangeListener(listener); 

Вы можете получить идентификатор переключаемой кнопки, вызывая buttonView.getId() в onCheckedChanged методы и делать конкретные задачи на основе Id ,

Смежные вопросы