我在操作栏中有一个搜索 View ,我想在方向更改后恢复查询。我怎样才能做到这一点?使用SearchView.setQuery(query, false);
从包中设置查询不起作用,因为searchview扩展后会立即将其查询设置为""
。
这是我的onActivityCreated
中的相关代码:
if(savedInstanceState != null && savedInstanceState.containsKey(BUNDLE_KEY_SEARCH))
mCurFilter = savedInstanceState.getString(BUNDLE_KEY_SEARCH);
这是我的
onSaveInstanceState
:savedInstanceState.putString(BUNDLE_KEY_SEARCH, mCurFilter);
super.onSaveInstanceState(savedInstanceState);
那么,如何使用
setQuery
无法恢复它的状态呢?谢谢大家
最佳答案
解决方法是,更换您的
mSearchView.setQuery(mSearchText, false);
和:
final String s = mSearchText;
mSearchView.post(new Runnable() {
@Override
public void run() {
mSearchView.setQuery(s, false);
}
});
系统设置空字符串后,它将设置保存的字符串。
关于java - 恢复android的搜索 View 小部件的状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22582201/