Могу ли я переопределить скрытый (но публичный) метод и вызвать его супер метод?
Существует непубличный 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);
}
Я получаю бесконечный цикл, потому что он вызывает мой переопределенный метод.
Есть ли способ переопределить этот метод и иметь возможность вызывать супер метод?
Спасибо!