android.widget.SearchView cannot be cast to android.support.v7.widget.SearchView

后端 未结 9 1763
感情败类
感情败类 2020-12-05 14:46

I\'m not unsure of why I\'m getting this error. Here\'s the menu in question:



        
相关标签:
9条回答
  • 2020-12-05 14:56

    Try adding this:

    MenuItem menuItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
    

    It worked for me.

    0 讨论(0)
  • 2020-12-05 14:58

    Add this to your build.gradle file

    implementation 'com.android.support:appcompat-v7:21.0.3'
    

    and then add this

    android.support.v7.widget.SearchView 
    

    instead of

    // remove or replace this line 
    import android.widget.SearchView;
    

    in your activity file

    0 讨论(0)
  • 2020-12-05 15:02

    you should use these imports instead of using the support library imports

    import android.app.SearchManager;
    import android.widget.SearchView;
    import android.widget.SearchView.OnQueryTextListener;
    

    Just to keep in mind that the minimum SDK is marked as 14

    0 讨论(0)
  • 2020-12-05 15:02

    Find import android.widget.SearchView; in your imports and replace it with import android.support.v7.widget.SearchView

    0 讨论(0)
  • 2020-12-05 15:02

    According to the documentation, In the onCreateOptionsMenu use

    MenuItem menuItem = menu.findItem(R.id.action_search);
            SearchView searchView = (SearchView) menuItem.getActionView();
    

    ie:use the menu item directly to call getActionView() method

    instead of

    MenuItem menuItem = menu.findItem(R.id.action_search);
            SearchView searchView = MenuItemCompat.getActionView(menuItem);
    

    or

    searchView = (SearchView) menu.findItem(R.id.action_search);
    

    becouse both are deprecated

    0 讨论(0)
  • 2020-12-05 15:07

    For me i have only changed

    app:actionViewClass="android.widget.SearchView"
    

    Insted of

    app:actionViewClass="androidx.appcompat.widget.SearchView"
    
    0 讨论(0)
提交回复
热议问题