热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android确定取消对话框

用到确定取消(两个按钮)对话框的时候,发现需要弹出对话框的时候,会直接执行弹出后面的代码,在执行完成后,才弹出。有没有办法,先弹出,选择确定后,再执行后面的代码?
用到确定 取消(两个按钮) 对话框的时候,发现需要弹出对话框的时候,会直接执行弹出后面的代码,在执行完成后,才弹出。有没有办法,先弹出,选择确定后,再执行后面的代码?

29 个解决方案

#1


会直接执行弹出后面的代码??什么叫弹出后面?AlertDialog的时候,show了,还是会执行其他代码,但如果是activity的话,也是会执行的,因为线程没有停止的话,是会一直执行的,直到执行完毕

#2


都不上代码, 怎么让人分析....

#3


 同步Dialog ? 为什么不把流程写到点击“确定”/按钮 事件中呢?

  UI线程阻塞久了,会ANR的。

#4


你把点击 确定 按钮需要做的事情放在button onclick里面执行就可以了

#5


像楼上所说的一样,后面处理的事情,就写在点击确定的里面

#6


那应该是确定之后的事件吧,如果你点了取消,还要执行那些事件干嘛?

#7


引用 3 楼 qinjuning 的回复:
 同步Dialog ? 为什么不把流程写到点击“确定”/按钮 事件中呢?

  UI线程阻塞久了,会ANR的。


可以写到确定里面,但是,有没有办法做到类似c#或者delphi那样的,先弹出,然后根据返回值,执行后面的代码

#8


有人会吗?就是像c#或者delphi那样的,先弹出,然后根据返回值,执行后面的代码 

#9


引用 楼主 glgxw 的回复:
用到确定 取消(两个按钮) 对话框的时候,发现需要弹出对话框的时候,会直接执行弹出后面的代码,在执行完成后,才弹出。有没有办法,先弹出,选择确定后,再执行后面的代码?

那就处理“确定”的消息事件呗

#10


代码不想写到确定事件里呀,让弹出框先执行,点击确定后,根据返回值,再执行后面的代码

#11


引用 10 楼 glgxw 的回复:
代码不想写到确定事件里呀,让弹出框先执行,点击确定后,根据返回值,再执行后面的代码
估计没辙吧。。。或者你自己整一个Activity 伪装成dialog然后来实现你要的。。你用dialog的话必须在确定或者取消事件里面做事。。在外面做的事它会直接去执行。。。。

#12


那就太悲催了,其他的开发工具都可以的,C语言vb那些都行的,这android就不行吗?太悲哀了吧,有谁能再指点一下吗?

#13


再问一下了,各位高手,有指点一下吗?

#14


public ExitDialog(Context context) {
super(context);
this.context = context;
// TODO Auto-generated constructor stub
new AlertDialog.Builder(context)   
.setTitle("退出系统?")  
.setMessage("您确定要从系统中退出?")  
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
exitApp(ExitDialog.this.context);
}
})  
.setNegativeButton("取消", null)  
.show();
}


看看我这个   有问题再问

#15


引用 14 楼 cjl1203456 的回复:
public ExitDialog(Context context) {
super(context);
this.context = context;
// TODO Auto-generated constructor stub
new AlertDialog.Builder(context)   
.setTitle("退出系统?")  
.setMessage("您确定要从系统中退出?")  
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
exitApp(ExitDialog.this.context);
}
})  
.setNegativeButton("取消", null)  
.show();
}


看看我这个   有问题再问


还是不行呀,需要把代码加到里面,并且没有返回值,起不到类似c或vb那样的效果,恳求高手帮忙了

#16


引用 15 楼 glgxw 的回复:
Quote: 引用 14 楼 cjl1203456 的回复:

public ExitDialog(Context context) {
super(context);
this.context = context;
// TODO Auto-generated constructor stub
new AlertDialog.Builder(context)   
.setTitle("退出系统?")  
.setMessage("您确定要从系统中退出?")  
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
exitApp(ExitDialog.this.context);
}
})  
.setNegativeButton("取消", null)  
.show();
}


看看我这个   有问题再问


还是不行呀,需要把代码加到里面,并且没有返回值,起不到类似c或vb那样的效果,恳求高手帮忙了
你咋用的  发图看看

#17


回15楼,首先你这个函数,都没有返回值呀,怎么判断呀?

#18


引用 14 楼 cjl1203456 的回复:
public ExitDialog(Context context) {
super(context);
this.context = context;
// TODO Auto-generated constructor stub
new AlertDialog.Builder(context)   
.setTitle("退出系统?")  
.setMessage("您确定要从系统中退出?")  
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
exitApp(ExitDialog.this.context);
}
})  
.setNegativeButton("取消", null)  
.show();
}


看看我这个   有问题再问


都没有返回值呀,怎么判断呀

#19


你自己写个方法,在方法里面写你要做的事情,然后在确定事件中调用这个方法

#20


引用 18 楼 glgxw 的回复:
Quote: 引用 14 楼 cjl1203456 的回复:

public ExitDialog(Context context) {
super(context);
this.context = context;
// TODO Auto-generated constructor stub
new AlertDialog.Builder(context)   
.setTitle("退出系统?")  
.setMessage("您确定要从系统中退出?")  
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
exitApp(ExitDialog.this.context);
}
})  
.setNegativeButton("取消", null)  
.show();
}


看看我这个   有问题再问


都没有返回值呀,怎么判断呀


一直没看懂LZ想要的返回值是啥。。。
按确定,在确定的onclick里面实现,按取消在取消的onclick里面实现,这不就是按返回值处理的么?只是返回值你不用管而已,系统自动回调过来了
好吧,你非要返回值,那就在确定和取消的onclick分别调用比如function(boolean ok)实现或者用message/handle来处理

莫非LZ想做的不是一个确定取消按钮?而是别的功能???

#21


不了解 楼主你想要干什么  猜测 可能是 你dialog show出来了以后 有操作,你可以将你的操作放到你的 onclick里面 就行 14楼应该是正解

#22


就算有返回值,你没事件怎么给你返回!

#23


用什么平台就要接受它的编程习惯,这些不是我们能改变的

#24


不应该啊。贴上你的代码看看

#25


如果你想要返回某种状态,这个完全可以自己去定义一种状态,自己记录,然后根据状态来处理相应的事情。

#26


我没说清楚呢?还是没理解呢?

1.b=dialog();
2.if b=true {rturn;} 
  else 
3.{doing....}


就是这么个意思,在delphi、jsp、c# 都能实现,会这些工具的都能明白。
现在在android里面,非得要在确定事件里写个函数。我知道这样也能实现
但是,一段代码要拆开,并且,还得传参数。
很希望能实例类似delphi、jsp、c#里面那样的确认取消功能。
希望高手们能帮帮呀!

#27


你是不是自定义的dialog?你看看下面的示例对你有帮助吗
自定义动画dialog

#28


引用 27 楼 fire_fire_fire 的回复:
你是不是自定义的dialog?你看看下面的示例对你有帮助吗
自定义动画dialog

你的试了,仍然不是那样的效果,还是的得吧要执行的程序写到确定事件里

#29


调用dialog的show方法后让主线程阻塞。完了在通知主线程继续

推荐阅读
author-avatar
小赖小燕_380
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有