Можно ли передать аргумент слушателю при нажатии кнопки:
protected void onCreate(Bundle savedInstanceState) {
....
String myArg = "Hello";
Button button1 = (Button)findViewById(R.id.myButton);
button1.setOnClickListener(myListener);
String myArg = "Goodye";
Button button2 = (Button)findViewById(R.id.myOtherButton);
button2.setOnClickListener(myListener);
}
OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// print the value from the passed in argument myArg
Log.v("TEST", myArg);
}
};
Это всего лишь пример, а не отражение того, что я на самом деле не хочу делать, но оно иллюстрируетвопрос.
В основном я хочу передать myArg слушателю, чтобы при нажатии кнопки он имел доступ к переменной myArg.
Я знаю, что мог бы сделать это как встроенный анонимный классно у меня будет много кнопок, и логика щелчков одинакова для всех из них.Мне нужен аргумент, так как он будет отличаться для каждой кнопки.
К вашему сведению: мое реальное использование требует, чтобы аргумент был объектом View.