Я пытаюсь сделать это:
Программно создать 4 кнопки на макете.Затем создайте прослушиватель onclick для каждой кнопки.Затем, в зависимости от того, какая кнопка нажата, будет работать некоторая логика.
Я создал LinearLayout в своем XML-файле и назвал его "layout".
Итак, мои коды выглядят примерно так:
layout = (LinearLayout)findViewById(R.id.layout);
//Create the array of buttons
Button [] subjectButtons_BT = new Button[4];
for(int i=0; i<4; i++){
subjectButtons_BT[i] = new Button(this);
// Add the button to the layout
layout.addView(subjectButtons_BT[i]);
subjectButtons_BT[i].setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// if it is the first button, do LOGIC1
// if it is the second button, do LOGIC2 etc
}
});
}
До сих пор мне удалось создать 4 кнопки, и я могу нажимать на кнопки.Тем не менее, я не знаю, как с логикой в части setOnClickListener.
Я хотел знать, какая кнопка нажата.Итак, я попытался использовать v.getId (), но он всегда возвращает -1.
Может кто-нибудь посоветовать, если это правильный путь?И если да, то как сделать логику?
Спасибо.