我在前面定义了一个类变量
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);
}
};
应该要如何使用呢?谢谢,本人是安卓菜鸟。
阿神2017-04-18 09:07:13
arrBomb과 clickListener가 같은 클래스에 선언되어 있으면 onClick()에서 arrBomb을 참조할 수 있기 때문에 구체적인 작성 방법과 컨텍스트를 알 수 없습니다.
팁:
Java에서 2차원 배열을 선언할 때 일반적으로 int[][]를 함께 연결합니다.
int[][] arrBomb = 새로운 int[10][];
Activity 또는 Fragment를 직접 사용하여 View.onClickListener 인터페이스를 구현할 수 있습니다. 변수를 선언할 필요가 없습니다.