问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 方法返回一个dialog 怎么接收

发布网友 发布时间:2022-05-29 22:06

我来回答

1个回答

热心网友 时间:2024-01-18 23:30

Android
如何监听返回键点击事件,并创建一个退出对话框,
防止自己写的应用程序不小心点击退出键而直接退出。自己记录下这个简单的demo,备用。
注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉。
源码如下:
[html]
view
plaincopy
public
class
BackKeyTest
extends
Activity
{
/**
Called
when
the
activity
is
first
created.
*/
@Override
public
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public
boolean
onKeyDown(int
keyCode,
KeyEvent
event)
{
if
(keyCode
==
KeyEvent.KEYCODE_BACK
)
{
//
创建退出对话框
AlertDialog
isExit
=
new
AlertDialog.Builder(this).create();
//
设置对话框标题
isExit.setTitle("系统提示");
//
设置对话框消息
isExit.setMessage("确定要退出吗");
//
添加选择按钮并注册监听
isExit.setButton("确定",
listener);
isExit.setButton2("取消",
listener);
//
显示对话框
isExit.show();
}
return
false;
}
/**监听对话框里面的button点击事件*/
DialogInterface.OnClickListener
listener
=
new
DialogInterface.OnClickListener()
{
public
void
onClick(DialogInterface
dialog,
int
which)
{
switch
(which)
{
case
AlertDialog.BUTTON_POSITIVE://
"确认"按钮退出程序
finish();
break;
case
AlertDialog.BUTTON_NEGATIVE://
"取消"第二个按钮取消对话框
break;
default:
break;
}
}
};
}
小结:
Android手机常用的三个键,home键,back键及menu键。
在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。
首先我们要明确点击三个键时系统干了什么事,
如果没有进行监听处理,
点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
而点击menu键时,系统默认不进行任何处理。
这里只是一个简单的应用demo,我们可以根据自己的需要设计一个更完美的退出程序对话框。
也可以在监听到返回事件后进行其他处理,等等。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 Java:Swing这段书上的源代码,我运行了为什么不显示呢?求解 有哪几个民营企业中标了页岩气的探矿权 java怎么给按钮添加一个键盘监听?(麻烦写的易懂些) 【求】索爱S700,K800系列键码_附测键码jar工具 英语题目!!急!!! 怎么将盒子包装得好看 Android接收弹出框返回的值 手机出现momkeytest病毒咋办 PPP.C(33): error C231: 'Keytest': redefinition;PPP.C(16): erro... uchar keytest(void){}里面的void有什么用,说明无返回? 防盗报警主机的主机参数 Nexus S 如何退出recovery keytest ...端通过光功率计来测试。假设a端通过某个设备发出-5db的光,在对端 光衰-5db 会不会烧光猫 专业音箱问题 两个音箱那个好! 我的电脑怎么发出刺耳的声音呢?我不知道该怎么调节啊 -5db多少倍 青岛装修材料店哪家好?急急急!!! 三星集团 76周年 去肇庆怎么玩? 为什么我把传奇私服的地图补丁下载到热血传奇客服端里面,服务器里面什 ... 我去深圳三职报了名但是现在想去别的学校读还可以吗?(录取通知书已_百 ... 农村安装天然气要多少费用 龙二职的计算机网络技术和深三职的计算机网络技术哪个好 深圳市第三职业技术学校的详情资料 没有中考可以进深圳市第三职业技术学校嘛? 深圳市罗湖区泥岗村第三职业学院有这个学校吗? 深圳第三职业技术学校和深科技工学校哪个学校好? 我收到深圳市第三职业技术学校通知可是我想去深圳市第二职业技术学校会... 深圳市第三职业技术学校详细地址在哪是在泥岗那边吗? 24克减100克等于多少 24-100mm和24-70mm镜头哪个好 冒险岛24-100级幻灵法师去哪升级 详细点 答得好追加悬赏 深圳第三职业技术学校可以带手机吗? 100-24的算试怎么列 100-24用竖式计算怎么讲解 24 --最简分数 100 为什么Ioqqz5下面有点显示不出来 83÷24+113÷24-100 ÷24怎么简便运算? 24个5减去100,差是多少