让后台程序在桌面显示提示文字,并自动消失
2013-03-11 11:58
447 查看
后台运行的程序(Application)没有窗口(Screen),也就无法显示提示窗口(Dialog),使用下面的代码可以让后台程序在桌面显示提示信息,并在5秒钟后或按任意键后自动消失。
首先,在需要提示的地方,加入如下代码
其次,新建一个PopScreen窗口类
发现bug,如果按键盘任意键关闭窗口,TimerTask继续运行,最后导致NullPointerException,还是取消按任意键关闭窗口吧
首先,在需要提示的地方,加入如下代码
synchronized (Application.getEventLock()) { Screen screen=new GlobalDialogScreen("Something text showing on HomeScreen"); Ui.getUiEngine().pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE); }
其次,新建一个PopScreen窗口类
package code; import java.util.Timer; import java.util.TimerTask; import net.rim.device.api.system.Bitmap; import net.rim.device.api.ui.Field; import net.rim.device.api.ui.Ui; import net.rim.device.api.ui.component.BitmapField; import net.rim.device.api.ui.component.LabelField; import net.rim.device.api.ui.container.HorizontalFieldManager; import net.rim.device.api.ui.container.PopupScreen; import net.rim.device.api.ui.container.VerticalFieldManager; public class GlobalDialogScreen extends PopupScreen { public GlobalDialogScreen(String msg) { super(new VerticalFieldManager(),Field.FOCUSABLE); HorizontalFieldManager hfm=new HorizontalFieldManager(); hfm.add(new BitmapField(Bitmap.getPredefinedBitmap(Bitmap.INFORMATION))); hfm.add(new LabelField(msg)); add(hfm); Timer timer=new Timer(); TimerTask timerTask; timerTask=new TimerTask() { public void run() { getApplication().invokeAndWait(new Runnable() { public void run() { closeScreen(); } }); } }; timer.schedule(timerTask, 5000); } private void closeScreen() { Ui.getUiEngine().popScreen(this); } public boolean keyChar(char key, int status, int time) { Ui.getUiEngine().popScreen(this); return true; } }
发现bug,如果按键盘任意键关闭窗口,TimerTask继续运行,最后导致NullPointerException,还是取消按任意键关闭窗口吧
相关文章推荐
- jQuery实现文本域内提示文字,当鼠标点击进文本域后自动消失,文本域失去鼠标焦点后显示提示文字或显示用户输入的文字。
- 实现网页文本框显示灰色提示文字且点击后消失的一个小函数(基于jquery)
- iOS 提示框显示后自动消失
- 编辑框若无内容失焦点时呈灰色 显示提示,获取焦点提示消失,文字显示蓝色
- 08-27 GridView(点中后,图片被蒙住<蒙板>)、Toast(点击后显示提示的内容,一会儿自动消失)、Dialog(点击后显示对话框)
- jquery mobile显示加载提示,并自动消失
- 显示一个提示窗口,等进程操作完成自动消失
- CSS实现input默认文字灰色有提示文字点击后消失鼠标移开显示
- 文本框默认显示的字(提示的文字),点击后文字消失。
- 文本框/域文字提示自动显示隐藏jQuery小插件
- 类似QQ导航底部显示提示弹窗,能自动消失
- 文本框默认显示的字(提示的文字),点击后文字消失。
- jquery 提示信息显示后自动消失的具体实现
- 输入框显示输入提示,点击消失。没输入直接提交,提交的输入框内容为空,不提交显示的提示文字
- 提示框显示2秒自动消失
- [原创]提示文字根据焦点自动消失的输入框javascript
- 设计input搜索框提示文字点击消失的效果,提示文字与输入显示不同----->特别推荐
- 全文检索等鼠标滑上去(不用点击),里面提示文字要自动消失效果的实现。
- jquery 提示信息显示后自动消失的具体实现
- jquery 提示信息显示后自动消失