恢复android的搜索视图小部件的状态

tob*_*obs 9 java android android-widget android-fragments searchview

我在我的操作栏中有一个搜索视图,我希望在方向更改后恢复查询.我怎样才能做到这一点?使用捆绑包设置查询SearchView.setQuery(query, false);不起作用,因为searchview ""会在扩展后立即将其查询设置为.

下面是我的相关代码onActivityCreated:

if(savedInstanceState != null && savedInstanceState.containsKey(BUNDLE_KEY_SEARCH))
    mCurFilter = savedInstanceState.getString(BUNDLE_KEY_SEARCH);
Run Code Online (Sandbox Code Playgroud)

在这里我的onSaveInstanceState:

savedInstanceState.putString(BUNDLE_KEY_SEARCH, mCurFilter);
super.onSaveInstanceState(savedInstanceState);
Run Code Online (Sandbox Code Playgroud)

那么我怎么能恢复它的状态,因为我无法使用它setQuery?谢谢大家

Fra*_*ank 2

作为解决方法,请替换您的

mSearchView.setQuery(mSearchText, false); 
Run Code Online (Sandbox Code Playgroud)

和:

final String s = mSearchText;

mSearchView.post(new Runnable() {

    @Override
    public void run() {
        mSearchView.setQuery(s, false);
    }
});
Run Code Online (Sandbox Code Playgroud)

系统设置空字符串后,将设置保存的字符串。