gpt4 book ai didi

android.support.v4.widget.SearchViewCompat 示例?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:25:54 25 4
gpt4 key购买 nike

我正在尝试在 API 8 应用程序中将 SearchViewCompatActionBarSherlock 一起使用。

public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add("Search")
.setIcon(isLight ? R.drawable.ic_search_inverse : R.drawable.ic_search)
.setActionView(R.layout.collapsible_edittext);
item.setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS |
MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

// To use SearchViewCompat, I need to add it to the Menu item as well:
View searchView = SearchViewCompat.newSearchView(this);
// ...
SearchViewCompat.setOnQueryTextListener(...);
// ...
item.setActionView(searchView);

请注意,顶部和底部代码都需要调用setActionView()。这是否意味着无法进行搜索?

最佳答案

如果您使用的是 ActionBarSherlock 库版本 4.2,则可以将 API 11 SearchView 小部件替换为 ActionBarSherlock SearchView 小部件以使其向后兼容:

search.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_search"
android:icon="@drawable/ic_action_search"
android:title="@string/description_search"
android:orderInCategory="0"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:showAsAction="ifRoom|collapseActionView" />
</menu>

Activity 类

//IMPORTANT!!!
import com.actionbarsherlock.widget.SearchView;

...

@Override 
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getSupportMenuInflater().inflate(R.menu.search, menu);
setupSearchMenuItem(menu);
return true;
}

private void setupSearchMenuItem(Menu menu) {
MenuItem searchItem = menu.findItem(R.id.menu_search);
if (searchItem != null) {
SearchView searchView = (SearchView) searchItem.getActionView();
if (searchView != null) {
SearchManager searchManager =
(SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
}
}
}
}

关于android.support.v4.widget.SearchViewCompat 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10222311/

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