我有 2 个 Activity :第一个,HomepageActiviy
,有一个搜索小部件,它使用另一个 Activity SearchActivity
搜索数据。
我想要做的是,当我从 SearchActiviy
返回到 HomepageActivity
时,搜索小部件会折叠并显示一个空文本。
我已尝试执行以下操作:
public class HomepageActivity extends Activity {
@TargetApi(11)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.projectslist, menu);
if(Build.VERSION.SDK_INT >= 11) {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.homepage_search).getActionView();
ComponentName component = new ComponentName(this, SearchActivity.class);
searchView.setSearchableInfo(searchManager.getSearchableInfo(component));
searchView.setIconifiedByDefault(true);
searchView.setQuery("", false);
}
return super.onCreateOptionsMenu(menu);
}
[…]
@TargetApi(11)
@Override
protected void onRestart() {
super.onRestart();
if(Build.VERSION.SDK_INT >= 11)
invalidateOptionsMenu();
launchAsynchronousImageDownload();
}
}
如果小部件很好地显示为折叠状态,小部件中的文本仍会记住搜索过的文本(在我重新打开小部件后)。 如何重置小部件的文本?
感谢您的帮助! ;)
最佳答案
您还可以尝试以下方法:
searchView.setQuery("", false);
searchView.clearFocus();
关于java - 重置搜索小部件 (SearchView) 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142678/