gpt4 book ai didi

android - 在哪里自动折叠 ActionBar SearchView

转载 作者:太空狗 更新时间:2023-10-29 16:20:14 26 4
gpt4 key购买 nike

当用户在 ActionBar 的搜索小部件中提交应用程序范围的搜索时,我希望它在提交后自动折叠。提交基本上会打开 SearchableActivity。目前,如果他们关闭搜索结果 Activity (SearchableActivity),搜索小部件仍然打开。我只想关闭它;并且没有文字。

看了一圈,我好像觉得答案是这样的

`searchView.onActionViewCollapsed() ;' 

但是,我不确定把它放在哪里?

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.menu_search);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(true);

} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setupNewSearchView(searchItem, searchManager);



}

return true;
}

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupNewSearchView(final MenuItem searchItem,
SearchManager searchManager) {
android.widget.SearchView searchView = (android.widget.SearchView) searchItem
.getActionView();
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(true);
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {

MenuItem About = menu.findItem(R.id.About);
MenuItem Login = menu.findItem(R.id.Login);
MenuItem Logout = menu.findItem(R.id.Logout);
MenuItem Settings = menu.findItem(R.id.Settings);
MenuItem Search = menu.findItem(R.id.menu_search);
MenuItem Add = menu.findItem(R.id.Add);

Add.setVisible(false);

if (LoggedStatus == true) {
// show the log out option
Logout.setVisible(true);
Login.setVisible(false);
Settings.setVisible(true);
} else {
// show the log in option
Logout.setVisible(false);
Login.setVisible(true);
Settings.setVisible(false);
}

About.setVisible(true);

return true;
}

请注意,我正在使用 SherlockActionBar

最佳答案

我这样做了:

searchView.setOnQueryTextListener(new OnQueryTextListener() {

public boolean onQueryTextChange(String arg0) {
// TODO Auto-generated method stub
return false;
}

public boolean onQueryTextSubmit(String arg0) {
if (searchItem != null) {
searchItem.collapseActionView();
}
return false;
}

});

在我的 xml 菜单文件中:

   android:showAsAction="always|collapseActionView"
  • 有效。

关于android - 在哪里自动折叠 ActionBar SearchView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com