我正在尝试使用以下代码将SwitchCompat添加到溢出菜单:
main.xml
<?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/menu_dummy_content"
android:title=""
android:actionViewClass="android.support.v7.widget.SwitchCompat"
app:showAsAction="never"
app:actionLayout="@layout/menu_item_switch"/>
<!-- TODO: Delete this after bug fix-->
<item
android:id="@+id/menu_dummy_content_2"
android:title="Second Title"
app:showAsAction="never"/>
</menu>
menu_item_switch的布局是:
<android.support.v7.widget.SwitchCompat
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_item_switch_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/menu_item_dummy_tasks"
android:layout_centerVertical="true"/>
如果我执行 app:showAsAction =“ifRoom”或其他任何内容,则切换显示完全正常,并且侦听器正常工作。 但是只要我将 showAsAction设为永不。开关视图变为白色/空,但onOptionsItemSelected表示单击的项目为menu_dummy_content。
我还尝试仅在自定义布局中使用 TextView ,而且也为空。我错过了什么吗?
答案 0 :(得分:1)
由于您将showAsAction属性设置为never,因此这些菜单项永远不会显示为动作布局。
我相信你需要在这里添加标题文字......
<item
android:id="@+id/menu_dummy_content"
android:title=""
android:actionViewClass="android.support.v7.widget.SwitchCompat"
app:showAsAction="never"
app:actionLayout="@layout/menu_item_switch"/>
像这样......
android:title="First Title"