android-studio - android中动态添加点击方法时调用类变量的问题

查看:93
本文介绍了android-studio - android中动态添加点击方法时调用类变量的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我在前面定义了一个类变量
public int arrBomb[][] = new int10;

然后给一个动态添加的按钮,绑定了点击方法
Button btn = new Button(this);
btn.setBackgroundResource(R.drawable.bg);
btn.setTag(R.id.row,row);
btn.setTag(R.id.col,col);
//点击事件
btn.setOnClickListener(clickListener);
grid.addView(btn, params);

接着,发现在clickListener方法里使用不了arrBomb这个变量,请问是怎么回事呢?
public View.OnClickListener clickListener = new View.OnClickListener() {

    public void onClick(View v) {
        GridLayout grid = (GridLayout)findViewById(R.id.main);
        Button btn = (Button)v;
        int row = (int)btn.getTag(R.id.row);
        int col = (int)btn.getTag(R.id.col);
        grid.removeView(btn);
        Log.d("AAA",row + "===" + col);
    }
};

应该要如何使用呢?谢谢,本人是安卓菜鸟。

解决方案

arrBomb和clickListener只要在同一个类中声明,onClick()中是可以引用arrBomb的,所以并不清楚你具体的写法和上下文环境。
tips:

  1. java中声明二维数组,一般把int[][]连在一起。

  2. int[][] arrBomb = new int[10][];

  3. 你可以直接用Activity或Fragment实现View.onClickListener接口,没有必要申明一个变量。

这篇关于android-studio - android中动态添加点击方法时调用类变量的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆