Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 旋转后的AutoCompleteTextView getSelectionEnd()_Java_Android_Subclass_Autocompletetextview_Super - Fatal编程技术网

Java 旋转后的AutoCompleteTextView getSelectionEnd()

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

下面的代码可以工作,但感觉不干净。对getSelectionEnd()的调用需要在Runnable内部完成,否则performFiltering将在其具有值之前触发。问题是我需要调用被重写的超级函数performFiltering,我找到的唯一方法是生成一个愚蠢的函数,其唯一目的就是调用超级函数,请参见“超级过滤”。我怎样才能使这个更干净

@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);
}