したがって、私は自分自身を明確にしていませんでした。行列からボタンインデックスを取得しようとするのに少し問題があります。 私はこの行列bt [4] [4]を持ち、各ボタンは次のような値を持っています: btn11 = bt [0] [0]。 私がしたいのは、ボタンをクリックするたびに、私はそれを「座標」にします。 例:Bt11は[0]と[0]を返します。。 は、今私がいる問題:私は、各ボタンにリスナーをonClickメソッドを使用してボタンインデックスを取得する
- 設定しましたが、私は「onClickの」メソッドを実装することはできません。 ここで実装しようとすると、「public class easy extends Activity」というエラーメッセージが表示されます。
- 第2の問題は、私はbt [x] [y]から座標を得ることを知らない。
まとめてください。 onClickメソッドを設定したいので、ボタンをクリックするたびに[x] [y]の座標が得られます。私はあなたの質問がここにあるものを完全にわからないんだけど、私が理解から、各ボタンのView.OnClickListener()
をしたい、とボタンがクリックされたときに右の何かをしたい
public class easy extends Activity { //Can't implement OnClick Listener
Button bt[][] = new Button[4][4];
Button up;
Button down;
Button left;
Button right;
int listaTroca[] = new int[10]; // lista pra receber os valores de retorno da logica
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_easy);
//Linha 1
bt[0][0] = (Button) findViewById(R.id.bt11);
bt[0][0].setOnClickListener((View.OnClickListener) this);
bt[0][1] = (Button) findViewById(R.id.bt12);
bt[0][1].setOnClickListener((View.OnClickListener) this);
bt[0][2] = (Button) findViewById(R.id.bt13);
bt[0][2].setOnClickListener((View.OnClickListener) this);
bt[0][3] = (Button) findViewById(R.id.bt14);
bt[0][3].setOnClickListener((View.OnClickListener) this);
//--------------------- Linha 2
bt[1][0] = (Button) findViewById(R.id.bt21);
bt[1][0].setOnClickListener((View.OnClickListener) this);
bt[1][1] = (Button) findViewById(R.id.bt22);
bt[1][1].setOnClickListener((View.OnClickListener) this);
bt[1][2] = (Button) findViewById(R.id.bt23);
bt[1][2].setOnClickListener((View.OnClickListener) this);
bt[1][3] = (Button) findViewById(R.id.bt24);
bt[1][3].setOnClickListener((View.OnClickListener) this);
//------------------------Linha 3
bt[2][0] = (Button) findViewById(R.id.bt31);
bt[2][0].setOnClickListener((View.OnClickListener) this);
bt[2][1] = (Button) findViewById(R.id.bt32);
bt[2][1].setOnClickListener((View.OnClickListener) this);
bt[2][2] = (Button) findViewById(R.id.bt33);
bt[2][2].setOnClickListener((View.OnClickListener) this);
bt[2][3] = (Button) findViewById(R.id.bt34);
bt[2][3].setOnClickListener((View.OnClickListener) this);
//---------------------Linha 4
bt[3][0] = (Button) findViewById(R.id.bt41);
bt[3][0].setOnClickListener((View.OnClickListener) this);
bt[3][1] = (Button) findViewById(R.id.bt42);
bt[3][1].setOnClickListener((View.OnClickListener) this);
bt[3][2] = (Button) findViewById(R.id.bt43);
bt[3][2].setOnClickListener((View.OnClickListener) this);
bt[3][3] = (Button) findViewById(R.id.bt44);
bt[3][3].setOnClickListener((View.OnClickListener) this);
//----------------------FIM DECLARAÇÃO + OUVIDOS
listaTroca = Logic.Logic_main(1,1,1);
}
}
'button.setTag(key、value)'を使ってみてください。その後、onClickが呼び出されると、 'v.getTag(key)'を使って値を返すことができます。 –
あなたの投稿に質問はありません。何が必要なのか/何がうまくいかないの? – Vucko
@Vucko既に質問を編集しました。ごめんなさい。 –