Java 旋转后的AutoCompleteTextView getSelectionEnd()
下面的代码可以工作,但感觉不干净。对getSelectionEnd()的调用需要在Runnable内部完成,否则performFiltering将在其具有值之前触发。问题是我需要调用被重写的超级函数performFiltering,我找到的唯一方法是生成一个愚蠢的函数,其唯一目的就是调用超级函数,请参见“超级过滤”。我怎样才能使这个更干净Java 旋转后的AutoCompleteTextView getSelectionEnd(),java,android,subclass,autocompletetextview,super,Java,Android,Subclass,Autocompletetextview,Super,下面的代码可以工作,但感觉不干净。对getSelectionEnd()的调用需要在Runnable内部完成,否则performFiltering将在其具有值之前触发。问题是我需要调用被重写的超级函数performFiltering,我找到的唯一方法是生成一个愚蠢的函数,其唯一目的就是调用超级函数,请参见“超级过滤”。我怎样才能使这个更干净 @Override protected void performFiltering(final CharSequence text, final int ke
@Override
protected void performFiltering(final CharSequence text, final int keyCode) {
post(new Runnable() {
@Override
public void run() {
String filteredText = text.toString();
//Text must contain @
if (filteredText.contains("@")) {
filteredText = Utils.getAtRefText(filteredText, getSelectionEnd());
superFiltering(filteredText, keyCode);
}
}
});
}
private void superFiltering(final CharSequence text, final int keyCode) {
super.performFiltering(text, keyCode);
}