0

與上下文操作欄搜索查看與collapseActionView |永遠不會在操作菜單

試圖android.support.v7.widget.SearchView添加到操作模式菜單 的搜索查看不起作用在程序兼容性活動擴大

using appcompat-v7:25.2.0 

菜單資源文件

<?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:icon="@drawable/ic_search_dark_24dp" 
     android:title="@string/search_list" 
     app:actionViewClass="android.support.v7.widget.SearchView" 
     app:showAsAction="always|collapseActionView" /> 
    <item 
     android:id="@+id/item_two" 
     android:icon="@drawable/item_two" 
     android:title="@string/item_two" 
     app:showAsAction="ifRoom" 
     > 
    </item> 
</menu> 

活動主題

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionModeOverlay">false</item> 
    <item name="actionModeBackground">@color/colorPrimaryDark</item> 
</style> 

活動代碼

private class SelectionActionModeCallBack implements ActionMode.Callback { 
     private SearchView mSearchView; 

     SelectionActionModeCallBack() { 


     } 


     @Override 
     public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
      mode.getMenuInflater().inflate(R.menu.book_selection_action_menu, menu);//Inflate the menu over action mode 


      mSearchView = 
        (SearchView) menu.findItem(R.id.action_search).getActionView(); 


      mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
       @Override 
       public boolean onQueryTextSubmit(String s) { 
        startSearch(s); 
        return true; 
       } 

       @Override 
       public boolean onQueryTextChange(String s) { 
        return false; 
       } 
      }); 
      return true; 
     } 

     @Override 
     public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
      mSearchView.requestFocus(); 
      return true; 
     } 

這違背了文檔

回答

0

相反使用搜索查看時在動作棒搜索視圖所需的可摺疊效果,同時具有在動作模式 使用其他項目的情況下

app:showAsAction="always" 

without collapseActionView!