pd = ProgressDialog.show(this, "请稍候。。刷新中", msg, true,false);
pd.setCancelable(true); //点击返回键可以取消 需要设置为true 不能取消就用false
new Thread() {
public void run() {
try {
Thread.sleep(1000); // 运行1秒为例
System.out.println("开始转动");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//pd就是ProgressDialog
//下面是 返回键 按钮 监听 代码
public boolean onKeyDown(int keyCode,KeyEvent event){
//按下键盘上返回按钮
if(keyCode == KeyEvent.KEYCODE_BACK){
pd.dismiss();
pd.cancel();
finish();
}
return super.onKeyDown(keyCode, event);
}
android开发中,按手机返回键,当前Activity 和 ProgressDialog 同时关闭?
答案:2 悬赏:0 手机版
解决时间 2021-03-15 21:42
- 提问者网友:萌卜娃娃
- 2021-03-15 01:02
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-03-15 01:58
ProgressDialog 是 Dialog 的子类。
而Dialog有一个setOnCancelListener函数,可以监听对话框的取消事件,对话框在使用Back键或取消按钮关闭时,会执行对话框的cancel函数,这是就会触发事件。
所以你只要加一句pd.setOnCancelListener(...),在里面写好回调即可。
而Dialog有一个setOnCancelListener函数,可以监听对话框的取消事件,对话框在使用Back键或取消按钮关闭时,会执行对话框的cancel函数,这是就会触发事件。
所以你只要加一句pd.setOnCancelListener(...),在里面写好回调即可。
全部回答
- 1楼网友:孤独的牧羊人
- 2021-03-15 02:38
android新启动activity,dialog或者其他窗体中中包含edittext, 新启动的activity的焦点默认在edittext上,这是android系统会弹出软键盘,挤压activity本来的界面,影响美观。
因此最好在新窗体创建时,最好在oncreate()方法中将焦点放在另一个view上. view使用requestfocus()焦点,但是如果让button或者textview之类控件直接使用requestfocus()方法,则无法获取焦点,焦点会依然在edittext上。
只能在使用view的requestfocus()方法之前调用下面2个方法,view才可获取焦点:
view.setfocusable(true);
然后调用 requestfocus()即可获取焦点。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯