我正在尝试实现SearchView ActionBar项目,因为Android开发人员说,但我遇到了一些麻烦。 (http://developer.android.com/guide/topics/ui/actionbar.html)。
有两个错误虽然我已经找了很多,但我找不到解决方案。
1)我有类MenuItemCompat的问题。它说: 对于MenuItemCompat类型
,方法getActionView(MenuItem)是未定义的我只能在这个课程中使用以下方法:
这是代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.restloader, menu);
MenuItem searchItem = menu.findItem(R.id.search_menu);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
// Configure the search info and add any event listeners
return super.onCreateOptionsMenu(menu);
}
2)这有一个问题: 的xmlns:MyApp的= “http://schemas.android.com/apk/res-auto” 我不明白为什么使用它,但如果谷歌说,它必须是适当的。
错误讯息: 在此行找到多个注释: - 错误:在包中找不到属性“actionViewClass”的资源标识符 'com.example.pruebahttp3' - 错误:在包中找不到属性“showAsAction”的资源标识符 'com.example.pruebahttp3'
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/search_menu"
android:orderInCategory="100"
android:title="@string/search"
android:icon="@drawable/ic_search_category_default"
myapp:showAsAction="ifRoom|collapseActionView"
myapp:actionViewClass="android.support.v7.widget.SearchView">
</item>
非常感谢!
答案 0 :(得分:2)
我有同样的问题,我通过使用以下代码解决了它。小心你的命名空间
<!-- Search, should appear as action button -->
<item
android:id="@+id/action_search"
android:icon="@drawable/abc_ic_search"
share:showAsAction="ifRoom"
share:actionViewClass="android.support.v7.widget.SearchView"
android:title="@string/abc_searchview_description_search" />
`
答案 1 :(得分:0)
对于第一个:修复第二个将解决这个问题:)
第二名:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res-auto" >
将myapp更改为您的应用程序命名空间com.xxx.xxx
答案 2 :(得分:0)
尝试直接从yourFolder \ sdk \ extras \ android \ support \ v7 \ appcompat \ libs复制lib文件 我有一个类似的问题,但当我直接复制JAR库文件而不是遵循android支持库过程时,它发生在我身上。尝试相反它可能对你有用。 如果你问我,有点奇怪。