ho aggiunto alcuni pulsanti con le seguenti righe:Come ottenere OnClick() dai pulsanti aggiunti programmaticamente?
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++;
}
Ma come posso ottenere i) metodi di coloro (OnClick? Ho già implementato View.OnClickListener con questo metodo:
@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;
}
}
Ma questo non funziona, come faccio a ottenere l'Es?
Fa 'id_button' sempre 0? Se no, perché stai controllando per 0 nell'istruzione 'case'? Considera di non usare le costanti magiche la prossima volta. –
non devi chiamare setOnClickListener ad un certo punto? (anche, setId non fa nulla, penso) – njzk2
la creazione dei pulsanti è in un ciclo for e ci sono creati più di un pulsante. –