java - Android中如何让6个按钮调用不同参数的同一个方法?

标签 java android view onclick onclicklistener

无论我是通过编程方式还是在 xml 文件中设置 onClick 方法,我都不知道如何通过它传递额外的参数。在以下代码中:

    for (int i = 0; i < 6; i++) {
        rollView[i].setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                changeKeepRoll(i);
            }
        });
    }

我正在为 6 个不同的 TextView 设置一个 onClickListener,我想调用方法 changeKeepRoll,它接受一个整数参数作为输入,但是我得到错误“变量‘i’是从内部类中访问的,需要声明为最终的”。这是什么意思,我该如何纠正?

最佳答案

  for (int i = 0; i < 6; i++) {
        final int temp = i;
        rollView[i].setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            changeKeepRoll(temp);
        }
    });
  }

关于java - Android中如何让6个按钮调用不同参数的同一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42145941/

相关文章:

java - 检索 YouTube 用户的供稿(上传)

android - 如何将参数发送到 android 中 WebView 中的本地文件?

android - 是否可以检查 TabWidget 中的特定 "TAB"在当前 View 中是否可见?

model-view-controller - 使用MVC,一个人应该如何处理 View 之间的通信?在模型之间?

java - 以编程方式更改布局权重

java - android - ListView 和适配器不显示任何项目:(

java - 从android中的另一个应用程序启动一个应用程序的Activity

java - 在android中给数组赋值时出现异常

android - 使用 RecyclerView 将按钮放在屏幕的底部中央

Android:给LinearLayout添加自己的View