【问题标题】:Finding view of an icon in overflow menu在溢出菜单中查找图标视图
【发布时间】:2016-01-06 10:17:53
【问题描述】:

我正在尝试查找溢出图标的视图。单击并打开溢出图标后,我尝试在 onoptionsitemselected 中使用:

View view = getActivity().findViewById(R.id.menu_tag); // null
View view = getActivity().findViewById(R.id.mainMenu); // not null.

<?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/mainMenu"
    android:title="@string/text"
    android:orderInCategory="101"
    android:icon="@drawable/ic_more_vert_white_24dp"
    app:showAsAction="always">
    <menu>

        <item
            android:id="@+id/menu_tag"
            android:icon="@drawable/tag_32"
            app:showAsAction="always|withText"
            android:title="@string/tags"/>
        <item
            android:id="@+id/menu_profile"
            android:icon="@drawable/user_32"
            app:showAsAction="always|withText"
            android:title="@string/profile"/>
        <item
            android:id="@+id/menu_debug"
            android:icon="@drawable/insect_32"
            app:showAsAction="always|withText"
            android:title="@string/debug"/>
    </menu>
</item>
</menu>

它给了我 null 但对操作栏项目工作正常。

【问题讨论】:

  • mainMenu 在哪里膨胀?
  • 它必须由android内部充气,因为它在溢出图标中。但是溢出菜单是打开的,所以它必须膨胀。
  • 我正在添加菜单以便更好地理解。

标签: android toolbar menuitem


【解决方案1】:

你应该尝试在onCreateOptionsMenu这样的方法中找到视图:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    this.optionsMenu = menu;
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menufile, menu);
    MenuItem item = menu.findItem(R.id.mainmenu);

return true;
}

【讨论】:

  • 谢谢。但我需要视图才能与这个库一起使用 - github.com/deano2390/MaterialShowcaseView/blob/master/sample/…。您可以检查此库中选择的 onoptionsitem。
  • 不幸的是仍然为空。我认为它只适用于我们为其设置 actionview 的图标。
  • yes view 会返回 null 但 MenuItem 不会返回 null 你可以对 'item' 执行操作
【解决方案2】:

我通过将 actionview 设置为 imagebutton 然后找到视图找到了解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2013-08-24
    相关资源
    最近更新 更多