Лучшей практикой было бы использование одного действия и переключение фрагментов, как если бы они были вашими экранами. Затем активность может просто реализовать интерфейс слушателя, который фрагменты будут повторно использовать.
Поскольку у вас есть несколько видов деятельности, это становится немного сложнее. До действительно повторного использования одного слушателя, я могу придумать один (не такой красивый) вариант. Создание статического слушателя и ленивый нагрузки это:
public class MainActivity extends Activity {
private static View.OnClickListener sCheckboxClickListener;
public static View.OnClickListener getCheckboxClickListener() {
if (sCheckboxClickListener == null) {
sCheckboxClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Work with v
}
};
}
return sCheckboxClickListener;
}
}
И в каждом из ваших действий по телефону:
findViewById(R.id.checkbox1)
.setOnClickListener(MainActivity.getCheckboxClickListener());
Может подкласс некоторые пользовательские родительскую активность? – tachyonflux
Какие экраны вы говорите? Фрагменты или отдельные виды деятельности? – Simas
Все, что касается OOP-джаза, по-прежнему применяется, поскольку разработка Android осуществляется на Java, полностью способном языке OOP, так что вы не пытаетесь радикально изменить свои методы разработки, но идиоматические способы сделать что-то изменились. – Machinarius