问题描述
我在前面定义了一个类变量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); }};
应该要如何使用呢?谢谢,本人是安卓菜鸟。
问题解答
回答1:arrBomb和clickListener只要在同一个类中声明,onClick()中是可以引用arrBomb的,所以并不清楚你具体的写法和上下文环境。tips:
java中声明二维数组,一般把int[][]连在一起。
int[][] arrBomb = new int[10][];
你可以直接用Activity或Fragment实现View.onClickListener接口,没有必要申明一个变量。