Android Dialog创建及其监听事件实现

1、创建提示对话框。

笔者为该对话框添加了3个按钮,分别是 PositiveButton (确定)NeutralButton、 NegativeButton(取消),中文意思是积极的按钮(确定)、中立的按钮、消极的按钮(取消),按字面意思翻译,有点怪,但是很形象。

      

JavaDoc API文档

创建提示对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. new AlertDialog.Builder(DialogActivity.this).setIcon(android.R.drawable.btn_star)  
  2.     .setTitle("调查").setMessage("你喜欢海贼王吗?")  
  3.     .setPositiveButton("喜欢",new DialogInterface.OnClickListener() {  
  4.                 @Override  
  5.                 public void onClick(DialogInterface dialog,int which) {  
  6.                     // TODO Auto-generated method stub  
  7.                     Toast.makeText(DialogActivity.this,"我很喜欢海贼王", Toast.LENGTH_SHORT).show();  
  8.                 }  
  9.             })  
  10.     .setNeutralButton("一般",new DialogInterface.OnClickListener() {  
  11.                 @Override  
  12.                 public void onClick(DialogInterface dialog,int which) {  
  13.                     // TODO Auto-generated method stub  
  14.                     Toast.makeText(DialogActivity.this,"我对海贼王不怎么感兴趣", Toast.LENGTH_SHORT).show();  
  15.                 }  
  16.             })  
  17.     .setNegativeButton("不喜欢",new DialogInterface.OnClickListener() {  
  18.                 @Override  
  19.                 public void onClick(DialogInterface dialog,int which) {  
  20.                     // TODO Auto-generated method stub  
  21.                     Toast.makeText(DialogActivity.this,"我一点也不喜欢海贼王", Toast.LENGTH_SHORT).show();  
  22.                 }  
  23.             }).show();// show很关键  

2、创建文本框对话框。

笔者为该对话框添加了1个文本、一个PositiveButton (确定)、一个NegativeButton(取消),并实现了PositiveButton点击监听事件,点击后获取文本框里的内容,并以toast形式显示出来。

    

创建文本框对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. final EditText editText = new EditText(DialogActivity.this);  
  2. new AlertDialog.Builder(DialogActivity.this).setTitle("请输入").setView(editText).setPositiveButton("确定",   
  3. new DialogInterface.OnClickListener() {                
  4.     @Override  
  5.     public void onClick(DialogInterface dialog, int which) {  
  6.         // TODO Auto-generated method stub  
  7.         Toast.makeText(DialogActivity.this"您输入的内容是:"+editText.getText(), Toast.LENGTH_SHORT).show();  
  8.     }  
  9. }).setNegativeButton("取消"null).show();  
3、创建简单列表对话框。

笔者为该对话框添加了一个数组显示列表,并实现了点击列表item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。

    

JavaDoc API文档

查阅JavaDoc API文档,读者可根据JavaDoc API文档来了解如何实现单击item选项监听事件,如下列出的setItems()方法第2个参数易知只要为第2个参数提供OnClickListener实例即可实现监听事件,读者可通过这种方式触类旁通以下几种对话框监听事件的实现,学会通过查阅JavaDoc API文档来解决问题是一项开发必备的编程能力


创建简单列表对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. final String[] items = new String[]{"北京","上海","深圳"};  
  2. new AlertDialog.Builder(DialogActivity.this).setTitle("城市列表").setItems(items, new DialogInterface.OnClickListener() {  
  3.     @Override  
  4.     public void onClick(DialogInterface dialog, int which) {  
  5.         // TODO Auto-generated method stub  
  6.         switch (which) {  
  7.         case 0:  
  8.             Toast.makeText(DialogActivity.this"您选中了:"+items[0], Toast.LENGTH_SHORT).show();  
  9.             break;  
  10.         case 1:  
  11.             Toast.makeText(DialogActivity.this"您选中了:"+items[1], Toast.LENGTH_SHORT).show();  
  12.             break;  
  13.         case 2:  
  14.             Toast.makeText(DialogActivity.this"您选中了:"+items[2], Toast.LENGTH_SHORT).show();  
  15.             break;  
  16.         }  
  17.     }  
  18. }).show();  
4、创建单选按钮列表对话框。

笔者为该对话框添加了一个单选按钮数组显示列表,并实现了点击item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。

    

JavaDoc API文档

笔者是以红框标记的方法实现的,即提供一个数组的方式,读者可尝试下另外的几种方法,比如提供ListAdapter、Cursor的方式来实现。


创建单选项列表对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. final String[] items = new String[]{"苹果","香蕉","梨子"};   
  2. new AlertDialog.Builder(DialogActivity.this).setTitle("单选框").setSingleChoiceItems(items, 0new DialogInterface.OnClickListener() {  
  3.       
  4.     @Override  
  5.     public void onClick(DialogInterface dialog, int which) {  
  6.         // TODO Auto-generated method stub  
  7.         switch (which) {  
  8.         case 0:  
  9.             Toast.makeText(DialogActivity.this"您选中了:"+items[0], Toast.LENGTH_SHORT).show();  
  10.             break;  
  11.         case 1:  
  12.             Toast.makeText(DialogActivity.this"您选中了:"+items[1], Toast.LENGTH_SHORT).show();  
  13.             break;  
  14.         case 2:  
  15.             Toast.makeText(DialogActivity.this"您选中了:"+items[2], Toast.LENGTH_SHORT).show();  
  16.             break;  
  17.         }  
  18.     }  
  19. }).setNegativeButton("取消"null).show();  
5、创建复选框列表对话框。

笔者为该对话框添加了一个复选框数组显示列表,并实现了点击复选框选项监听事件,选中复选框选项后,获取所有选中的选项,并以toast形式显示出来。

    

JavaDoc API文档


创建复选框列表对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. final String[] items = new String[]{"音乐","电影","书籍"};   
  2. final boolean[] selected = new boolean[]{true,false,true};  
  3. new AlertDialog.Builder(DialogActivity.this).setTitle("复选框")  
  4. .setMultiChoiceItems(items,selected, new DialogInterface.OnMultiChoiceClickListener() {  
  5.     @Override  
  6.     public void onClick(DialogInterface dialog, int which, boolean isChecked) {  
  7.         // TODO Auto-generated method stub  
  8.         selected[which] = isChecked;  
  9.     }  
  10. })  
  11. .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  12.     @Override  
  13.     public void onClick(DialogInterface dialog, int which) {  
  14.         // TODO Auto-generated method stub  
  15.         StringBuffer str = new StringBuffer("您选中了:");  
  16.         for(int i=0;i<3;i++){  
  17.             if(selected[i]){  
  18.                 str.append(items[i]+",");  
  19.             }  
  20.         }  
  21.         str.deleteCharAt(str.length()-1);  
  22.         Toast.makeText(DialogActivity.this, str, Toast.LENGTH_SHORT).show();  
  23.     }  
  24. }).setNegativeButton("取消"null).show();  
6、创建自定义列表对话框。

笔者为该对话框添加了自定义的布局文件,该自定义布局文件包含一个文本标签和一个文本框,并实现了确定按钮点击监听事件,在文本框输入内容后,获取文本框里的内容,并以toast形式显示出来。

    

创建自定义列表对话框并实现监听事件的代码如下:

[java]  view plain copy
  1. LayoutInflater layoutInflater = LayoutInflater.from(DialogActivity.this); // 创建视图容器并设置上下文  
  2. final View view = layoutInflater.inflate(R.layout.dialog,null); // 获取list_item布局文件的视图  
  3. new AlertDialog.Builder(DialogActivity.this).setTitle("自定义布局").setView(view).setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  4.     @Override  
  5.     public void onClick(DialogInterface dialog, int which) {  
  6.         // TODO Auto-generated method stub  
  7.         EditText editText = (EditText) view.findViewById(R.id.likeText);  
  8.         Toast.makeText(DialogActivity.this"您的爱好是:"+editText.getText(), Toast.LENGTH_SHORT).show();  
  9.     }  
  10. }).setNegativeButton("取消"null).show();  
7、参考:

7种形式的Android Dialog使用举例

8、项目源码:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是给出了创建各种类型对话框的方法 并为给出创建对话框之后 并为给出如何用户获取在对话框中做出选择后的数据 即如何监听用户做出的选择 接下来笔者将根据JavaDoc API文档引导读者详细的了解提示对话框 文本框对话框 简单列表对话框 单选项列表对话框 多选项列表对话框 自定义对话框6种类型对话框监听事件的具体处理过程 1 创建提示对话框 笔者为该对话框添加了3个按钮 分别是 PositiveButton (确定) NeutralButton NegativeButton(取消) 中文意思是积极的按钮(确定) 中立的按钮 消极的按钮(取消) 按字面意思翻译 有点怪 但是很形象 创建提示对话框并实现监听事件的代码如下: 2 创建文本框对话框 笔者为该对话框添加了1个文本 一个PositiveButton (确定) 一个NegativeButton(取消) 并实现了PositiveButton点击监听事件 点击后后去文本框里的内容 并以toast形式显示出来 创建文本框对话框并实现监听事件的代码如下: 3 创建简单列表对话框 笔者为该对话框添加了一个数组显示列表 并实现了点击列表item选项监听事件 点击item选项后获取item内容 并以toast形式显示出来 查阅JavaDoc API文档 读者可根据JavaDoc API文档来了解如何实现单击item选项监听事件 如下列出的setItems 方法第2个参数易知只要为第2个参数提供OnClickListener实例即可实现监听事件 读者可通过这种方式触类旁通以下几种对话框监听事件实现 学会通过查阅JavaDoc API文档来解决问题是一项开发必备的编程能力 创建简单列表对话框并实现监听事件的代码如下: 4 创建单选按钮列表对话框 笔者为该对话框添加了一个单选按钮数组显示列表 并实现了点击item选项监听事件 点击item选项后获取item内容 并以toast形式显示出来 5 创建复选框列表对话框 笔者为该对话框添加了一个复选框数组显示列表 并实现了点击复选框选项监听事件 选中复选框选项后 获取所有选中的选项 并以toast形式显示出来 创建复选框列表对话框并实现监听事件的代码如下: 6 创建自定义列表对话框 笔者为该对话框添加了自定义的布局文件 该自定义布局文件包含一个文本标签和一个文本框 并实现了确定按钮点击监听事件 在文本框输入内容后 获取文本框里的内容 并以toast形式显示出来 创建自定义列表对话框并实现监听事件的代码如下: 参见blog:http: blog csdn net andie guo article details 14145135">在Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是给出了创建 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值