alertdialogAndroid开发,Dialog dialog=new AlertDialog.Builder(this)出错。
alertdialog 时间:2021-07-13 阅读:(
)
安卓提示框代码写了但是没显示 AlertDialog.Builder builder
public class MyDialog extends Dialog {
private int FLAG_DISMISS = 1;
private boolean flag = true;
public MyDialog(Context context) {
super(context);
setTitle("自动消失对话框测试!");
}
@Override
public void show() {
super.show();
mThread.start();
}
@Override
public void dismiss() {
super.dismiss();
flag = false;
}
private Thread mThread = new Thread(){
@Override
public void run() {
super.run();
while(flag){
try {
Thread.sleep(2000);
Message msg = mHandler.obtainMessage();
msg.what = FLAG_DISMISS;
mHandler.sendMessage(msg);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what == FLAG_DISMISS)
dismiss();
}
};
}
LZ 筒子,AlertDialog都被框死用来做警告用的,不好操作。
想实现自己的对话框还是继承Dialog然后DIY更好,选择也多得多了。
我这个自定义的Dialog就是显示了2s然后消失的,测试过没问题。
实现起来也相当之简单,抛砖引玉,期待更好的方法。
android的对话框alertdialog.builder方法 可以在myeclipse 上使用吗
们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。
当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?
幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog
Builder ,下面我就吧相关的内容在这里分享一下,也能让更多的初学者少走弯路。
首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现
new AlertDialog.Builder(self)
setTitle("标题")
setMessage("简单消息框")
setPositiveButton("确定", null)
show();
效果如下:
上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然
后调用show方法显示出来,注意到Builder方法的参数
self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。
例如在onCreate方法中调用,只需传入this即
可。
下面是带确认和取消按钮的对话框:
new AlertDialog.Builder(self)
setTitle("确认")
setMessage("确定吗?")
setPositiveButton("是", null)
setNegativeButton("否", null)
show();
注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。
下面是一个可以输入文本的对话框:
new AlertDialog.Builder(self)
setTitle("请输入")
setIcon(android.R.drawable.ic_dialog_info)
setView(new EditText(self))
setPositiveButton("确定", null)
setNegativeButton("取消", null)
show();
如上代码,我们用setView方法,为我们的对话框传入了一个文本编辑框,当然,你可以传入任何的视图对象,比如图片框,WebView等。
。
尽情发挥你的想象力吧~
下面是单选框与多选框,也是非常有用的两种对话框:
new AlertDialog.Builder(self)
setTitle("请选择")
setIcon(android.R.drawable.ic_dialog_info)
setSingleChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
)
setNegativeButton("取消", null)
show();
new AlertDialog.Builder(self)
setTitle("多选框")
setMultiChoiceItems(new String[] {"选项","选项","选项","选项"}, null, null)
setPositiveButton("确定", null)
setNegativeButton("取消", null)
show();
单选和多选对话框应该是我们平时用的非常多的,代码应该很好理解,下面再最后介绍两个
列表对话框:
new AlertDialog.Builder(self)
setTitle("列表框")
setItems(new String[] {"列表项1","列表项2","列表项3"}, null)
setNegativeButton("确定", null)
show();
最后,在对话框中显示图片:
ImageView img = new ImageView(self);
img.setImageResource(R.drawable.icon);
new AlertDialog.Builder(self)
setTitle("图片框")
setView(img)
setPositiveButton("确定", null)
show();
我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~
~,当然这里还可以放上网络图片,具体的实现方法就不介绍了,留给大家来练习吧~
最后总结一下,android平台为我们开发提供了极大的便利,DialogBuilder能做的不止这些,这里给大家展示的只是冰山一角,我们可以尽情的发挥想象,创造我们自己的对话框。
Android开发,Dialog dialog=new AlertDialog.Builder(this)出错。
比如你的源码文件名是 Activity.java,就改成
Dialog dialog=new AlertDialog.Builder(Activity.this);
因名称而异。
在listener中的this指代的并不是Activity里的this,而两个this成员和方法是完全不一样的,所以会出错,需要告诉IDE即将访问的是Activity的this,这样就不会出问题了。
ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...
欧路云 主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。由专业人员提供一系列的技术支持!官方网站:https://www.oulucloud.com/云服务器(主机测评专属优惠)全场8折 优惠码:zhuji...
npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...
alertdialog为你推荐
word2003公式编辑器如何在word2003里安装“公式编辑器”im社区百度HI到底是用来干嘛的?发博客什么是发博文买服务器买一个服务器要多少钱?智能机刷机软件请问有什么刷机软件,是刷安卓系统手机的软件,自己用过刷过机!iphone12或支持北斗导航苹果手机怎样下载北斗导航百度创业史百度成立的历史物联卡官网移动物联卡怎么注册物联卡官网联通电信物联卡是正规卡吗?怎么不能在官网充值?智能公共广播系统有谁知道公共广播系统都包括那些设备
me域名 中国万网域名注册 域名查询工具 vps交流 企业域名备案 dreamhost 42u标准机柜尺寸 debian7 华为4核 169邮箱 免费吧 河南移动网 umax120 免费dns解析 服务器硬件防火墙 免费私人服务器 smtp虚拟服务器 河南移动梦网 金主 xuni 更多