最近,我一直在做一个简单的棋盘游戏android应用程序。这个游戏发生在7x7网格上,并且我为所有的方块都制作了按钮。如何通过循环设置众多onClick()?
这不是我第一次做这个,而且不仅仅是为了这些按钮而编排布局,而且还为onClick()
编写了很多工作。由于矩阵阵列(int state[7][7]
和Button board[][]=new Button[7][7]
),我可以推所有49个代码转换成一个函数,但是写像
board[0][0]=(Button)findViewById(R.id.board00);
board[0][1]=(Button)findViewById(R.id.board01);
int i;
for(i=0;i<2;i++){
board[0][i].setOnClickListener(new OnClickListener() {
public void onClick(View v){
my_function(0,i);
}
}
(我不得不写有些全码因为我上次省略了代码的一部分,所有人都在说我错过了那部分。)
将使所有的按钮专注于结果i
,而不是它最初的意思。 (我知道这一部分,不要只是最终告诉我“这不会工作,因为〜”)。
所以,我的问题是这样的:有什么办法使[i][j]
按钮调用my_function(i,j)
为i
和j
的每个,而不是逐个输入或生成代码?
P.S.我在这里没有做太多活动,而且我也不知道如何有效地寻找我的问题类型,或者验证是否有任何问题实际上有我的答案。如果你发现有同样答案的任何问题,请告诉我。我虽然搜索了这个。
我不认为我做了很多的了解。你能写一个关于创建一个'新的MyButtonListener(i,j)'的短代码吗? – MetaData