所以我试图动态创建按钮。但我不知道它们将如何定位,以及在哪里放置“添加监听器”。我已经看过这里关于动态创建按钮的问题,但没有一个向我展示如何知道按下了哪个按钮。我从以前的问题中提取了概念并将它们集成到我的代码中。另外,有人可以告诉我如何在循环中创建按钮时将其更改为不同的图像吗?
Button btnArray[] = new Button[numMonstOwn];
//ERROR HERE: the "layout" in "R.id.layout"
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
for(int i = 0; i < 5; i++){
btnArray[i] = new Button(this); //initializing buttons
//ERROR HERE about: "LayoutParams"
btnArray[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT))
btnArray[i].setText("button" + i);
btnArray[i].setOnClickListener(this);
System.out.println("yo");
layout.addView(btnArray[i]);
}
答案 0 :(得分:1)
而不是在按钮中设置onClickListener(this)
执行onClickListener(new MyListenerObject());
使用设置创建MyListenerObject
或其他任何您需要知道它的按钮以及需要采取的操作。