我怎样才能获得android工具栏菜单组

时间:2016-09-17 13:11:48

标签: android android-actionbar toolbar menuitem

在stackoverflow的一些页面中说你可以用 menu.findItem(R.id.groupId)获取菜单组,但总是返回null,我想知道如何获得菜单组

function confirmDelete(url) {
    var aa = event.srcElement.id;
    if (confirm("Sure to delete: "+ aa +"?")) {
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", '/www/site/m_delete.php?id='+aa, true);
        xhttp.send();
} else {
    return false;
}

和我用于访问菜单的java代码

<?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">
     <group android:id="@+id/fdp_m_group_normal">
         <item android:id="@+id/fdp_m_today"
               app:actionLayout="@layout/menu_today"
               app:showAsAction="always|withText"
               android:orderInCategory="100"
               android:title="today"/>
         <item android:id="@+id/fdp_m_tomorrow"
               app:actionLayout="@layout/menu_tomorrow"
               app:showAsAction="always|withText"
               android:orderInCategory="101"
               android:title="tomorrow"/>
         <item android:id="@+id/fdp_m_after"
               app:actionLayout="@layout/menu_after"
               app:showAsAction="always|withText"
               android:orderInCategory="102"
               android:title="after"/>
     </group>
     <group android:id="@+id/fdp_m_group_range">
         <item android:id="@+id/fdp_m_plus1"
               app:actionLayout="@layout/menu_plus1"
               app:showAsAction="always|withText"
               android:orderInCategory="103"
               android:title="+1"/>
         <item android:id="@+id/fdp_m_plus2"
               app:actionLayout="@layout/menu_plus2"
               app:showAsAction="always|withText"
               android:orderInCategory="104"
               android:title="+2"/>
         <item android:id="@+id/fdp_m_plus3"
               app:actionLayout="@layout/menu_plus3"
               app:showAsAction="always|withText"
               android:orderInCategory="105"
               android:title="+3"/>
    </group>
 </menu>

2 个答案:

答案 0 :(得分:2)

使用findItem获取组确实返回null。我假设你只需要它可见度。尝试使用menu.setGroupVisible(R.id,false);

答案 1 :(得分:0)

如果“菜单”中没有项目,

menu.findItem将返回null。与id。

首先,检查菜单&#39;是要查看的正确菜单,然后在menu.xml中检查您已声明具有正确ID的项目。