gpt4 book ai didi

java - menu.findItem 使用 v7 操作栏返回 null

转载 作者:行者123 更新时间:2023-11-30 01:03:57 26 4
gpt4 key购买 nike

我正在从 Android Hive 了解 Android Studio 中的操作栏.不幸的是,我使用 v7 操作栏,而 androidhive 使用内置操作栏,这可能会有所不同。问题出在搜索 View 部分。

主 Activity .java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mainmenu, menu);

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
System.out.println("Search Manager : "+searchManager);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
System.out.println("Search View : "+searchView);
//searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

return super.onCreateOptionsMenu(menu);
}

主菜单.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="Search"
app:showAsAction="always"
android:actionViewClass="android.widget.SearchView" />
</menu>

命令行显示 searchView 为空。我已将 android:actionViewClass 更改为 app:actionViewClass 但它说 android.widget.SearchView 无法转换为 android.support.v7.widget.SearchView

完整代码可以看here

如何修复?

最佳答案

你应该用在

app:actionViewClass="android.support.v7.widget.SearchView"

代替

android:actionViewClass="android.widget.SearchView" 

希望对您有所帮助。

关于java - menu.findItem 使用 v7 操作栏返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39073791/

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