Java 如何在单击溢出菜单后保持它?;
我在溢出菜单中添加了一些复选框。我希望我的溢出菜单保持不变,而不是在单击溢出菜单中的复选框后消失。我该怎么做?谢谢你的帮助 这是我的菜单xml文件Java 如何在单击溢出菜单后保持它?;,java,android,overflow-menu,Java,Android,Overflow Menu,我在溢出菜单中添加了一些复选框。我希望我的溢出菜单保持不变,而不是在单击溢出菜单中的复选框后消失。我该怎么做?谢谢你的帮助 这是我的菜单xml文件 <item android:id="@+id/action_check" android:title="@string/action_check" android:orderInCategory="1" app:showAsAction="never" android:visible="true"
<item
android:id="@+id/action_check"
android:title="@string/action_check"
android:orderInCategory="1"
app:showAsAction="never"
android:visible="true"
android:checkable="true"/>
<item android:id="@+id/notification"
android:orderInCategory="2"
android:title="@string/notification"
app:showAsAction="never"
android:visible="true"
android:checkable="true"/>
<item android:id="@+id/about"
android:orderInCategory="3"
android:title="@string/about"
app:showAsAction="never"></item>
组是共享某些特征的菜单项的集合,以获取更多信息
组是共享某些特性的菜单项的集合,以获取更多信息
我就是这样做的
在实现选项菜单的活动中添加以下代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//your checking other stuff
item.setChecked(!item.isChecked());
//main part for holding onto the menu
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
item.setActionView(new View(this));
item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return false;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return false;
}
});
return false;
}
通过添加以下行:item.setShowAsAction(MenuItem.SHOW\u AS\u ACTION\u COLLAPSE\u ACTION\u VIEW)代码>我正在标记该项,因为它具有可扩展/可折叠的行为,因此它将调用setOnActionExpandListener
这里的这一行:item.setActionView(新视图(This))代码>是项处于展开状态时的视图。它只是一个虚拟视图,因为我们永远不会让它展开我接下来要解释的内容
您可以看到,我从setOnActionExpandListener
的两个方法返回false,以抑制项的扩展和折叠,从而使我们在上一步中给出的视图永远不会显示,并且菜单将保持打开状态
以下是您的菜单文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="all">
<item
android:id="@+id/action_check"
android:orderInCategory="1"
android:title="Title 1"
app:showAsAction="never" />
<item
android:id="@+id/notification"
android:orderInCategory="2"
android:title="Title 2"
app:showAsAction="never" />
<item
android:id="@+id/about"
android:orderInCategory="3"
android:title="Title 3"
app:showAsAction="never" />
</group>
</menu>
请注意,groupandroid:checkableBehavior=“all”
一行告诉您,组中的所有项目都将具有可检查的行为,这样您就不必在每个项目中写入可检查的内容。我就是这样做的
在实现选项菜单的活动中添加以下代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//your checking other stuff
item.setChecked(!item.isChecked());
//main part for holding onto the menu
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
item.setActionView(new View(this));
item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return false;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return false;
}
});
return false;
}
通过添加以下行:item.setShowAsAction(MenuItem.SHOW\u AS\u ACTION\u COLLAPSE\u ACTION\u VIEW)代码>我正在标记该项,因为它具有可扩展/可折叠的行为,因此它将调用setOnActionExpandListener
这里的这一行:item.setActionView(新视图(This))代码>是项处于展开状态时的视图。它只是一个虚拟视图,因为我们永远不会让它展开我接下来要解释的内容
您可以看到,我从setOnActionExpandListener
的两个方法返回false,以抑制项的扩展和折叠,从而使我们在上一步中给出的视图永远不会显示,并且菜单将保持打开状态
以下是您的菜单文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="all">
<item
android:id="@+id/action_check"
android:orderInCategory="1"
android:title="Title 1"
app:showAsAction="never" />
<item
android:id="@+id/notification"
android:orderInCategory="2"
android:title="Title 2"
app:showAsAction="never" />
<item
android:id="@+id/about"
android:orderInCategory="3"
android:title="Title 3"
app:showAsAction="never" />
</group>
</menu>
请注意,groupandroid:checkableBehavior=“all”
一行告诉您,组中的所有项目都将具有可检查的行为,这样您就不必在每个项目中都写入可检查的内容。这段代码的具体功能是什么?请参阅。组是一组具有某些特征的菜单项,有关更多信息,请添加您的解释以回答,而不是在注释中。此代码的具体功能是什么?请参阅。组是一组具有某些共同特征的菜单项,有关更多信息,请在注释中添加您的解释以回答。