he añadido algunos botones con las siguientes líneas:¿Cómo obtener OnClick() desde botones agregados mediante programación?
for (int i=0; i<XML.size(); i++) {
//add button
ToggleButton b = new ToggleButton(this);
// Setting the parameters
lefttextv.setLayoutParams(lleft);
b.setLayoutParams(bright);
//customize button
b.setOnClickListener(this);
b.setId(id_button);
System.out.println(id_button);
b.setHeight(100);
b.setWidth(200);
// Adding to the RelativeLayout as a child
layouth.addView(lefttextv);
layouth.addView(b);
id_button++;
}
Pero, ¿cómo puedo conseguir el() métodos OnClick para esos? Ya implementado View.OnClickListener con este método:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId())
{
case id_button: Log.d("Button 0","Button 0 pressed);
break;
}
}
Pero esto no funciona, ¿cómo consigo la identificación?
¿El 'id_button' siempre 0? Si no, ¿por qué está buscando 0 en la declaración 'case'? Considera no usar constantes mágicas la próxima vez. –
¿no tienes que llamar a setOnClickListener en algún momento? (también, setId no hace nada, creo) – njzk2
la creación de los botones está en un for-loop y se han creado más de un botón. –