Activity.closeOptionsMenu()这个方法只能关闭第一层menu,对于二层以上的子菜单submenu,就无能为力。而且据我看到的,Android并没有提供关闭二级菜单的方法或者实现,SubMenu.close()并不能让弹出的submenu消失。目前来看只能通过用户交互,比如点击屏幕的其他部分来实现消失,而这是系统相关。
我个人的想法是,既然submenu建立在menu之上,closeOptionsMenu如果关闭menu,自然也应该把submenu关闭,不知道是我的理解有误还是Android的bug?
我再试试其他方法,看能不能让这个submenu自动消失。
工程代码在下面,有兴趣的可以研究。图片上画圈的是点击处。
package com.hp9016.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.SubMenu;
public class CloseOptionsMenuActivity extends Activity {
/** Called when the activity is first created. */
private final static String TAG = "++++CloseOptionsMenuActivity++++";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread() {
public void run() {
try {
Log.d(TAG, "++++run----sleep");
sleep(30000);
Log.d(TAG, "++++run----wake");
closeOptionsMenu();
Log.d(TAG, "++++closeOptionsMenu");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu sub = menu.addSubMenu(0, 0, 0, R.string.sub_menu).setIcon(
this.getResources().getDrawable(R.drawable.icon));
String name = "menuItem1";
sub.add(0, 0, 0, name);
name = "menuItem2";
sub.add(0, 1, 1, name);
menu.add(0, 1, 1, R.string.menu_item).setIcon(
this.getResources().getDrawable(R.drawable.icon));
return super.onCreateOptionsMenu(menu);
}
}
- 大小: 57.4 KB
- 大小: 68 KB
- 大小: 82.8 KB
分享到:
相关推荐
Android bugreport是一个全面的系统日志文件,它包含了大量的系统信息,旨在帮助开发者诊断和解决Android设备上的问题。这个文件由一系列的子部分组成,每一部分都提供了关于系统不同方面的详细数据。接下来,我们将...
ChkBugReport是一个用于分析android的bugreport的开源工具,它可以把你得到的bugreprot导出成适合阅读的html。导出的html文件包含了根据bugreport数据得出的图表和分析结论,主要包括进程内存占用信息、程序ANR或...
在开发中使用EditText时可能被软键盘遮挡布局,只需在布局中加入NestedScrollView 在对应的界面初始化 就可完美的解决.
AndroidBug修改总结涉及的内容主要包括以下几个方面: 1. **系统图标位置的调整**:在Android系统的定制开发中,开发者可能需要调整系统图标的显示位置。这通常涉及到对Android系统资源文件的修改,比如替换或编辑...
tip之bug 帐号对应信息显示出错
**Android-Buglife SDK与Web平台** 在移动应用开发领域,尤其是iOS和Android平台,确保应用的稳定性和无误运行是至关重要的。开发者们经常面临的一个挑战就是如何快速有效地捕获、报告和解决应用程序中的错误,也...
大家有没有发现VS2010——MFC的对话框有个BUG?就是当对话框失去焦点后,外框的颜色没有变灰!
android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo...
综上所述,`bugreport`、`logcat`、`kernel`、`anr`和`tombstones`是Android系统故障排查的关键工具,它们提供了丰富的信息,帮助开发者定位和解决各种问题。理解并熟练运用这些工具,是提升Android开发效率和维护...
通过分析这些bug报告,我们可以深入理解Android系统在那个阶段遇到的技术问题以及如何解决它们。 1. **Android Bug报告结构**:通常,一个bug报告会包含以下几个关键部分:问题描述、复现步骤、影响的设备型号、...
Android Camera 三星BUG : 最近在Android项目中使用拍照功能 , 其它型号的手机运行成功了 唯独在三星的相机上遇到了bug . BUG具体体现为 : (1) 摄像头拍照后图片数据不一定能返回 ; onActivityResult的data为空 (2...
本文将详细讲解如何完美解决Android录音问题,以实现类似微信语音的效果。 首先,我们需要了解Android录音的基本原理。Android系统提供了`MediaRecorder`类来实现音频录制,它能处理音频源、编码格式以及输出文件等...
网上下载的资源大多有各种各样的bug,本人也是为了公司业务做android开发板开发,下了网络的各种各样的Demo进行改,上传这一个改好的供大家研究学习吧。这个是网络上那个精简的android-serialport-api,我改了bug。 ...
在软件开发过程中,Bug发现和提交报告是一项至关重要的工作,它确保了开发团队能准确、高效地定位并修复问题,从而提升软件的质量和用户体验。以下是一份详细的关于如何编写有效的Bug提交报告的知识点: 1. **简洁...
Mentor说先从找code base中bug开始。但是我感觉我们的codebase好复杂,这几天突然没什么进展。uml之类的也画了不少。想问问前辈们有什么建议? update: 感谢各位分享自己的经验。这段时间略有进展,来说说...
BUG报告?提示与技巧.zip程序开发文档软件开发文技术档下载BUG报告?提示与技巧.zip程序开发文档软件开发文技术档下载BUG报告?提示与技巧.zip程序开发文档软件开发文技术档下载BUG报告?提示与技巧.zip程序开发文档...
本压缩包文件提供的内容是基于XMPP(Extensible Messaging and Presence Protocol)的Android信息推送客户端解决方案,针对原有代码中的BUG进行了修复,并允许开发者根据自己的业务需求进行定制。 XMPP是一种基于...
标题中的“Android-Beetle实现通过摇一摇手机就能够轻松地在GitHubGitLab和AzureDevOps上创建Bug报告”揭示了一个独特的Android应用程序——Beetle。这个应用旨在简化开发者和用户向GitHub、GitLab以及Azure DevOps...