相关疑难解决方法(0)

动态创建按钮并设置onClickListener

我在Android上处理动态创建的按钮时遇到问题.我正在创建N个按钮,单击按钮时我必须执行相同的方法,但我必须知道单击了哪个按钮.

for (int i = 0; i < NO_BUTTONS; i++){
        Button btn = new Button(this);
        btn.setId(2000+i);

        ...

        btn.setOnClickListener((OnClickListener) this);
        buttonList.addView(btn);
        list.add(btn);
Run Code Online (Sandbox Code Playgroud)

目前我正在为每个按钮添加ID,我正在使用下面的方法查看单击了哪个按钮.(行btn.setId(2000+i);btn.setOnClickListener((OnClickListener) this);).此方法也在活动中实现.

@Override
public void onClick(View v) {
    switch (v.getId()){
        case 2000: selectButton(0);
        break;

        ...

        case 2007: selectButton(7);
        break;
    }
 }
Run Code Online (Sandbox Code Playgroud)

这对我来说不太好看,所以我想问有没有更好的方法呢?或者如何向onclick事件发送一些信息?有什么建议?

android button android-widget android-layout

27
推荐指数
3
解决办法
5万
查看次数

标签 统计

android ×1

android-layout ×1

android-widget ×1

button ×1