如何动态创建按钮和跟踪哪个按下?

时间:2013-12-20 23:54:50

标签: java button dynamic

所以我试图动态创建按钮。但我不知道它们将如何定位,以及在哪里放置“添加监听器”。我已经看过这里关于动态创建按钮的问题,但没有一个向我展示如何知道按下了哪个按钮。我从以前的问题中提取了概念并将它们集成到我的代码中。另外,有人可以告诉我如何在循环中创建按钮时将其更改为不同的图像吗?

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]);
    }

1 个答案:

答案 0 :(得分:1)

而不是在按钮中设置onClickListener(this)执行onClickListener(new MyListenerObject());

使用设置创建MyListenerObject或其他任何您需要知道它的按钮以及需要采取的操作。