Как дать аргумент функции, используя Android XML? - PullRequest
1 голос
/ 27 ноября 2011

У меня есть приложение с множеством кнопок (более 300) я хочу знать, если есть способ использовать Android: onClick = "function" с аргументами в моем макете XML потому что я слишком ленив, чтобы сделать функцию для каждой кнопки, и я хочу сделать somenthin, как

public void allbuttons(View view, String stringa) {
    if stringa = 1 { bla bla bla}
    elif stringa = 2 { blachos}
}

Вы поняли

1 Ответ

3 голосов
/ 27 ноября 2011

Дайте идентификатор каждой вашей кнопке. В вашем общем обработчике просто проверьте ((Button) view) .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();
        }

    }
}

и в свой список действий вы можете добавить

Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new MyButtonClickHandler());

Я добавляю ссылку на функцию в код, но вы можете сделать это и в xml-файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...