@Override
public boolean onTouch(View v, MotionEvent event)
{
Button thisButton = (Button) v;
switch (event.ACTION_DOWN)
{
case MotionEvent.ACTION_DOWN:
for (int i = 0; i < _button.length;i++)
if (tagOf(thisButton) == tagOf(_button[i]))
{
System.out.println("Button " + i + " pressed!");
_textView[i].setText(String.valueOf(_settingBrowser.countUpPosition(i)));
}
}
return false;
}
int tagOf (Button b)
{
return Integer.parseInt(b.getTag().toString());
}
böyle ana sınıfta kimlik numarası olan düğmeler başlatılıyor: sizin gibi düğmelerin büyük bir sayı varsa
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
_button = new Button[FIELDS];
_button[0] = (Button) findViewById(R.id.Button01);
_button[1] = (Button) findViewById(R.id.Button02);
_button[2] = (Button) findViewById(R.id.Button03);
_button[3] = (Button) findViewById(R.id.Button04);
_button[4] = (Button) findViewById(R.id.Button05);
_button[5] = (Button) findViewById(R.id.Button06);
_padListener = new SettingButtonListener(_button);
for (int j = 0; j < _button.length; j++){
_button[j].setTag(j);
_button[j].setOnTouchListener(_padListener);
}
}
Bu düzgünGenellikle böyle bir şey yapmak hepsi için aynı dinleyiciyi kullanmak ve kullanmak istiyorum. Şerefe!
http://stackoverflow.com/questions/3795439/one-onclickhandler-for-multiple-buttons – Vivart