热门标签 | 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方法后让主线程阻塞。完了在通知主线程继续

推荐阅读
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • 这篇文章将为大家详细讲解有关C#开发技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C#开发技 ... [详细]
  • C#的Type对象的简单应用
    通过Type对象可以获取类中所有的公有成员直接贴代码:classMyClass{privatestringname;privateintid;publicstringcity;pu ... [详细]
  • 开发网站你需要知晓的部分专用术语
      越来越多的企业和个人都在拥有属于自己的网站门户,首当其冲的就是你得知晓几个网站方面的专业术语,先是中就有好多的客户不明白这些,造成误会是正常的,那不如我们对它有个大致的了解,这样就不容易感觉 ... [详细]
  • Xamarin.Android-用ZXing实现二维码扫描以及连续扫描
    一、前言本文的内容有两个基础:ZXing.Net和ZXing.Net.MobileZXing.Net:ZXing的C#实现,主要封装了各种二维码的编码、解码等跨平台的算法ZXing.Net.Mo ... [详细]
  • FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ... [详细]
  • UNP总结 Chapter 12~14 IPv4与IPv6的互操作性、守护进程和inet超级服务器、高级I/O函数
    一、IPv4与IPv6的互操作性1.IPv4客户与IPv6服务器拥有双重协议栈的主机的一个基本特性就是:其上运行的IPv6服务器既能应付IPv4客户,又能应付IPv6客户。这是通过使用IPv4映射 ... [详细]
  • PIMPL 是 C++ 中的一个编程技巧,意思为指向实现的指针。具体操作是把类的实现细节放到一个单独的类中,并用一个指针进行访问 ... [详细]
  • vscode里的html标签导航的一系列问题
    哈喽,我今天带来的经验是,vscode在18年10月更新后的1.29以后,编辑html文档时,会发现最上面有个类似于HTML标签导航的玩意儿,可能部分同学和我一样不习惯用它们,现在 ... [详细]
  • 我理解ViewHolder的onBindViewHolder如何工作,但是我不清楚notifyItemRangeChanged(0,this.data.size())如何;适用于此示例以及它的确 ... [详细]
  • 【自制小工具】代码生成器
    【自制小工具】代码生成器陆陆续续接触过好几款代码生成工具,发现确实好用,但都会有那么点不完善的地方,所以索性就自己做一个吧。界面非常简单,反正是自己用的,简单点用起来也方便上图:左 ... [详细]
  • 浅谈Vantlist 上拉加载及下拉刷新的问题
    这篇文章主要介绍了浅谈Vant-list 上拉加载及下拉刷新的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • 在写每日签到的时候,我居然使用的是本地时间被项目经理笑哭了。。。。,如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法.方法总结:     1.使用 ... [详细]
  • 简单动态字符串redis里面很多地方都用到了字符串,我们知道redis是一个键值对存储的非关系型数据库,那么所有的key都是用字符串存储的,还有字符串类型,这些都是用字符串存储的 ... [详细]
  • C#按值复制数组我有一个类型化的数组MyType[]types;我想制作这个数组的独立副本。我试过这个MyType[]types2newMyType[types.Length];t ... [详细]
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社区 版权所有