Переопределение методов в момент создания класса
Иногда требуется переопределить какой-либо метод класса или несколько, и при этом не хочется создавать новый класс-наследник в отдельном файле.
Например, нужно запретить клик и выделение по клику в дефолтном андроидовском адаптере.
Переопределяем нужный метод непосредственно при создании класса:
String[] lines = message.split(".\n");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.getContext(), // контекст
android.R.layout.simple_list_item_1, // resId
lines){ // данные
@Override
public boolean isEnabled(int position) { // запрещаем выделять нажатие
return false;
}
};
Естественно, для финальных классов так делать нельзя.