1

我想在我的项目中实现一个 SearchView 或一个 searchDialog,所以我编辑了我的 main_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/btn_action_bookmark"
    android:icon="@drawable/ic_bookmark"
    android:title="@string/bookmark_label"
    android:visible="false"
    app:showAsAction="always|collapseActionView"/>
<item
    android:id="@+id/btn_action_un_bookmark"
    android:icon="@drawable/ic_un_bookmark"
    android:title="@string/un_bookmark_label"
    android:visible="false"
    app:showAsAction="always|collapseActionView"/>
<item
    android:id="@+id/btn_action_remove"
    android:icon="@drawable/ic_remove"
    android:title="@string/remove_label"
    android:visible="false"
    app:showAsAction="always|collapseActionView"/>
<item
    android:id="@+id/btn_action_download"
    android:icon="@drawable/ic_download"
    android:title="@string/download_label"
    android:visible="false"
    app:showAsAction="always|collapseActionView"/>
<item
    android:id="@+id/menu_search"
    android:icon="@drawable/ic_btn_search"
    android:title="@string/action_bar_button_search"
    android:visible="true"
    android:showAsAction="always"/>
<item
    android:id="@+id/menu_item_share"
    android:title="@string/share_label"
    app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
    app:showAsAction="always"/>

在这里,倒数第二个是搜索。如果我在它和共享之间交换,应用程序崩溃并且无法打开。如果我这样做,我会折叠搜索选项。

截屏

为什么会这样?没有代码说要折叠它。我有一个扩展actionbaractivity(支持)的Actionbarparentactivity,一个实现了实现导航抽屉的actionbarparentactivity的homeactivity,以及实现homeactivity的anotheractivity。稍后在应用程序中还有另一个活动,它直接实现了 actionbarparentactivity,没有导航抽屉的东西,还有,搜索按钮被折叠了。

4

1 回答 1

1

我认为问题是由android:showAsAction. 您忘记了自定义前缀属性:

<item
    android:id="@+id/menu_search"
    android:icon="@drawable/ic_btn_search"
    android:title="@string/action_bar_button_search"
    android:visible="true"
    app:showAsAction="always" />   <--- on this line
于 2014-04-19T04:08:11.633 回答