android setTag()の使用



Using Android Settag



これは無駄なsetTag()だといつも感じていましたが、できる限り偶然の比較です

プログラムでは、ボタンをクリックしたいのですが、2番目の外観をクリックすると2が発生します。



for (int i = 0 i <20 i++) { cells[i] = (ImageView) findViewById(cellIDs[i]) cells[cellnumber++].setOnClickListener(new OnClickListener() { public void onClick(View v){ cellClicked(cellnumber, v) } }) }

上記のコードは効率的ではなく、21コース発生した方をクリックしますが、これは私の論理エラーです

次にそれを達成する方法



OnClickListener listener = new OnClickListener() { public void onClick(View v) { int cellId = (Integer) v.getTag() cellClicked(cellId, v) } } View v for (int i = 0 i <20 i++) { v = findViewById(cellIDs[i]) v.setOnClickListener(listener) v.setTag(i) }

そのようなインスタンスはそれを実行し、リスナーは同時にタグ値を渡すことがすべてのインスタンスが実行するわけではありません