最近,我一直在做一個簡單的棋盤遊戲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