Существует закрытый API, который мне нужно переопределить, чтобы обойти причуду с Android WebView.
API-интерфейс скрыт, но общедоступен:
/**
* ...
*
* @hide pending API council approval
*/
public boolean selectText() {
...
}
Поэтому я могу переопределить его, просто объявив его в моем собственном классе WebView, за исключением @Override:
public boolean selectText() {
...
}
Можно ли вызвать метод super из моего переопределения? Обычно я мог бы написать:
public boolean selectText() {
return super.selectText();
}
Но метод скрыт, поэтому super.selectText()
недоступен. Если я использую отражение:
public boolean selectText() {
return (Boolean) WebView.class.getMethod("selectText").invoke(this, (Object[]) null);
}
я получаю бесконечный цикл, потому что он вызывает мой переопределенный метод.
Можно ли каким-либо образом переопределить этот метод и иметь возможность вызывать суперметод?
Спасибо!