Я не эксперт в подобных вещах, но, возможно, это как-то связано со сборкой мусора, а OnClickListeners выходит за рамки.
Хотя я не думаю, что вы можете использовать сверхлегкий подход к onClickListeners, о котором упоминает Димитар, вы, вероятно, можете использовать промежуточный подход, который обсуждается в разделе, на который он ссылается, даже если это не новый подход. Чтобы повторить пример кода здесь, это:
View.OnClickListener handler = View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.myButton: // doStuff
break;
case R.id.myOtherButton: // doStuff
break;
}
}
}
findViewById(R.id.myButton).setOnClickListener(handler);
findViewById(R.id.myOtherButton).setOnClickListener(handler);
Если единственное, что отличает кнопки, это текст их заголовка, то вы можете использовать это для различения их в основном методе onClick.