当前位置: 首页 > 知识库问答 >
问题:

无法实例化类:Android.support.v7.Widget.SearchView

凌俊语
2023-03-14

我正在尝试为我的应用程序使用searchview。首先,我将AppCompat添加到我的项目中:

 compile "com.android.support:appcompat-v7:19.0.1+"

然后将此代码添加到菜单中:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
    android:title="@string/search"
    android:icon="@drawable/ic_action_search"
    android:showAsAction="ifRoom|collapseActionView"
    android:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

但是,当我启动活动时,我得到了以下信息:

当我按下搜索图标时,什么也没有发生:(

编辑1:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.offline, menu);
    MenuItem searchItem = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) searchItem.getActionView();
    //setupSearchView(searchItem);

   // menu.findItem(R.id.action_search).getActionView();

    return true;
}

共有1个答案

柳越
2023-03-14

尝试在布局上添加自定义前缀,如:

<?xml version="1.0" encoding="utf-8"?>
<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:title="@string/search"
          android:icon="@drawable/ic_action_search"
          app:showAsAction="ifRoom|collapseActionView"
          app:actionViewClass="android.support.v7.widget.SearchView" />

</menu>  

参见文档,在示例中,您必须添加一个自定义前缀(如上面代码中的“app”)。

另外,不是:

MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();  
MenuItem searchItem = menu.findItem(R.id.action_search);
// with MenuItemCompat instead of your MenuItem
mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);  
 类似资料:
  • 问题: 无法实例化以下类:Android.Support.V7.Widget.AppCompatimageView 这是跟踪堆栈。

  • 我正在用AndroidLollipop(5.0)中使用的新材料设计创建一个应用程序。 我正在使用以下指南: null 创建工具栏后,收到以下错误:“以下类无法实例化:- Android.Support.v7.Widget.toolbar” 该应用程序在手机或模拟器中运行良好,但Android Studio的布局设计师不能正确显示布局。 这里有一些图像: my_awesome_toolbar.xml

  • 以下是我的构建依赖项。gradle(应用程序) 这里是build.gradle(Project)的一部分 当我访问任何文件时,它向我显示了一个错误**以下类无法实例化: 我已将Android Studio更新到最新的仍然显示错误。 我无法解决这个问题谢谢

  • 我是android编程新手。以下是我面临的问题:- 我遵循了工具栏的xml代码http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html并应用到Eclipse中。我收到了这条信息: "以下类无法实例化:-android.support.v7.widget.工具栏(开放类,显示错误

  • 我试图在我的应用程序上实现谷歌登录。 工作正常,但当我尝试登录时,我的logcat上出现以下错误: 2018-10-04 14:55:14.784 16313-16313/? I/AppCompatDelegate:无法实例化自定义视图充气器android。支持v7。应用程序。这是充气机。回到违约状态。JAVAlang.ClassNotFoundException:android。支持v7。应用程

  • 问题内容: 当我尝试运行此代码时: 我收到此错误: 我不明白为什么我无法实例化课程…在我看来似乎是对的… 问题答案: 是一个接口,因此您无法直接实例化它。您可以实例化一个具体的子类,例如: