У меня есть приложение с большим количеством кнопок (более 300), я хочу знать, есть ли способ использовать андроид: onClick = "function" с аргументами в моем макете xml, потому что им слишком ленив, чтобы сделать функцию для каждой кнопки, и я хочу сделать что-то вроде
public void allbuttons(View view, String stringa) {
if stringa = 1 { bla bla bla}
elif stringa = 2 { blachos}
}
вы получаете идею
Дайте идентификатор каждой из ваших кнопок. В своем общем обработчике просто проверьте ((кнопка)).getId() для идентификатора в коммутаторе (с последним adk, вы должны использовать if-else) и обрабатываете его по-разному в каждом случае.
public class MyButtonClickHandler implements View.OnClickListener {
@Override
public void onClick(View v) {
Button button = (Button) v;
if (button.getId() == R.id.button1) {
Toast.makeText(Sample1Activity.this, "Toast1", 1000).show();
} else if (button.getId() == R.id.button2) {
Toast.makeText(Sample1Activity.this, "Toast2", 1000).show();
}
}
}
и в вашем onCreate деятельности вы можете добавить
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new MyButtonClickHandler());
Я добавляю ссылку на функцию в коде, но вы можете сделать это и в xml файле.