【Android SDK开发】各种Android Dialog创建及其监听事件实现
2013-11-04 22:54
876 查看
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。关于Android Dialog的使用方法,已经有很多blog做出了详细的介绍(比如博客:7种形式的Android
Dialog使用举例),但是只是给出了创建各种类型对话框的方法,并未给出如何获取用户在对话框中做出选择后的数据,即如何监听用户做出的选择。
接下来笔者将根据JavaDoc API文档引导读者详细的了解提示对话框、文本框对话框、简单列表对话框、单选项列表对话框、多选项列表对话框、自定义对话框6种类型对话框监听事件的具体处理过程。
1、创建提示对话框。
笔者为该对话框添加了3个按钮,分别是 PositiveButton (确定)、NeutralButton、 NegativeButton(取消),中文意思是积极的按钮(确定)、中立的按钮、消极的按钮(取消),按字面意思翻译,有点怪,但是很形象。
JavaDoc API文档
创建提示对话框并实现监听事件的代码如下:
2、创建文本框对话框。
笔者为该对话框添加了1个文本、一个PositiveButton (确定)、一个NegativeButton(取消),并实现了PositiveButton点击监听事件,点击后获取文本框里的内容,并以toast形式显示出来。
创建文本框对话框并实现监听事件的代码如下:
3、创建简单列表对话框。
笔者为该对话框添加了一个数组显示列表,并实现了点击列表item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。
JavaDoc API文档
查阅JavaDoc API文档,读者可根据JavaDoc API文档来了解如何实现单击item选项监听事件,如下列出的setItems()方法第2个参数易知只要为第2个参数提供OnClickListener实例即可实现监听事件,读者可通过这种方式触类旁通以下几种对话框监听事件的实现,学会通过查阅JavaDoc API文档来解决问题是一项开发必备的编程能力
创建简单列表对话框并实现监听事件的代码如下:
4、创建单选按钮列表对话框。
笔者为该对话框添加了一个单选按钮数组显示列表,并实现了点击item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。
JavaDoc API文档
笔者是以红框标记的方法实现的,即提供一个数组的方式,读者可尝试下另外的几种方法,比如提供ListAdapter、Cursor的方式来实现。
创建单选项列表对话框并实现监听事件的代码如下:
5、创建复选框列表对话框。
笔者为该对话框添加了一个复选框数组显示列表,并实现了点击复选框选项监听事件,选中复选框选项后,获取所有选中的选项,并以toast形式显示出来。
JavaDoc API文档
创建复选框列表对话框并实现监听事件的代码如下:
6、创建自定义列表对话框。
笔者为该对话框添加了自定义的布局文件,该自定义布局文件包含一个文本标签和一个文本框,并实现了确定按钮点击监听事件,在文本框输入内容后,获取文本框里的内容,并以toast形式显示出来。
创建自定义列表对话框并实现监听事件的代码如下:
7、参考:
7种形式的Android Dialog使用举例
8、项目源码:
csdn code:git@code.csdn.net:a13429921973/dialogdemo.git
csdn 资源:http://download.csdn.net/detail/a13429921973/6502755
Dialog使用举例),但是只是给出了创建各种类型对话框的方法,并未给出如何获取用户在对话框中做出选择后的数据,即如何监听用户做出的选择。
接下来笔者将根据JavaDoc API文档引导读者详细的了解提示对话框、文本框对话框、简单列表对话框、单选项列表对话框、多选项列表对话框、自定义对话框6种类型对话框监听事件的具体处理过程。
1、创建提示对话框。
笔者为该对话框添加了3个按钮,分别是 PositiveButton (确定)、NeutralButton、 NegativeButton(取消),中文意思是积极的按钮(确定)、中立的按钮、消极的按钮(取消),按字面意思翻译,有点怪,但是很形象。
JavaDoc API文档
创建提示对话框并实现监听事件的代码如下:
new AlertDialog.Builder(DialogActivity.this).setIcon(android.R.drawable.btn_star) .setTitle("调查").setMessage("你喜欢海贼王吗?") .setPositiveButton("喜欢",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { // TODO Auto-generated method stub Toast.makeText(DialogActivity.this,"我很喜欢海贼王", Toast.LENGTH_SHORT).show(); } }) .setNeutralButton("一般",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { // TODO Auto-generated method stub Toast.makeText(DialogActivity.this,"我对海贼王不怎么感兴趣", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("不喜欢",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { // TODO Auto-generated method stub Toast.makeText(DialogActivity.this,"我一点也不喜欢海贼王", Toast.LENGTH_SHORT).show(); } }).show();// show很关键
2、创建文本框对话框。
笔者为该对话框添加了1个文本、一个PositiveButton (确定)、一个NegativeButton(取消),并实现了PositiveButton点击监听事件,点击后获取文本框里的内容,并以toast形式显示出来。
创建文本框对话框并实现监听事件的代码如下:
final EditText editText = new EditText(DialogActivity.this); new AlertDialog.Builder(DialogActivity.this).setTitle("请输入").setView(editText).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(DialogActivity.this, "您输入的内容是:"+editText.getText(), Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", null).show();
3、创建简单列表对话框。
笔者为该对话框添加了一个数组显示列表,并实现了点击列表item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。
JavaDoc API文档
查阅JavaDoc API文档,读者可根据JavaDoc API文档来了解如何实现单击item选项监听事件,如下列出的setItems()方法第2个参数易知只要为第2个参数提供OnClickListener实例即可实现监听事件,读者可通过这种方式触类旁通以下几种对话框监听事件的实现,学会通过查阅JavaDoc API文档来解决问题是一项开发必备的编程能力
创建简单列表对话框并实现监听事件的代码如下:
final String[] items = new String[]{"北京","上海","深圳"}; new AlertDialog.Builder(DialogActivity.this).setTitle("城市列表").setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub switch (which) { case 0: Toast.makeText(DialogActivity.this, "您选中了:"+items[0], Toast.LENGTH_SHORT).show(); break; case 1: Toast.makeText(DialogActivity.this, "您选中了:"+items[1], Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(DialogActivity.this, "您选中了:"+items[2], Toast.LENGTH_SHORT).show(); break; } } }).show();
4、创建单选按钮列表对话框。
笔者为该对话框添加了一个单选按钮数组显示列表,并实现了点击item选项监听事件,点击item选项后获取item内容,并以toast形式显示出来。
JavaDoc API文档
笔者是以红框标记的方法实现的,即提供一个数组的方式,读者可尝试下另外的几种方法,比如提供ListAdapter、Cursor的方式来实现。
创建单选项列表对话框并实现监听事件的代码如下:
final String[] items = new String[]{"苹果","香蕉","梨子"}; new AlertDialog.Builder(DialogActivity.this).setTitle("单选框").setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub switch (which) { case 0: Toast.makeText(DialogActivity.this, "您选中了:"+items[0], Toast.LENGTH_SHORT).show(); break; case 1: Toast.makeText(DialogActivity.this, "您选中了:"+items[1], Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(DialogActivity.this, "您选中了:"+items[2], Toast.LENGTH_SHORT).show(); break; } } }).setNegativeButton("取消", null).show();
5、创建复选框列表对话框。
笔者为该对话框添加了一个复选框数组显示列表,并实现了点击复选框选项监听事件,选中复选框选项后,获取所有选中的选项,并以toast形式显示出来。
JavaDoc API文档
创建复选框列表对话框并实现监听事件的代码如下:
final String[] items = new String[]{"音乐","电影","书籍"}; final boolean[] selected = new boolean[]{true,false,true}; new AlertDialog.Builder(DialogActivity.this).setTitle("复选框") .setMultiChoiceItems(items,selected, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub selected[which] = isChecked; } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub StringBuffer str = new StringBuffer("您选中了:"); for(int i=0;i<3;i++){ if(selected[i]){ str.append(items[i]+","); } } str.deleteCharAt(str.length()-1); Toast.makeText(DialogActivity.this, str, Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", null).show();
6、创建自定义列表对话框。
笔者为该对话框添加了自定义的布局文件,该自定义布局文件包含一个文本标签和一个文本框,并实现了确定按钮点击监听事件,在文本框输入内容后,获取文本框里的内容,并以toast形式显示出来。
创建自定义列表对话框并实现监听事件的代码如下:
LayoutInflater layoutInflater = LayoutInflater.from(DialogActivity.this); // 创建视图容器并设置上下文 final View view = layoutInflater.inflate(R.layout.dialog,null); // 获取list_item布局文件的视图 new AlertDialog.Builder(DialogActivity.this).setTitle("自定义布局").setView(view).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub EditText editText = (EditText) view.findViewById(R.id.likeText); Toast.makeText(DialogActivity.this, "您的爱好是:"+editText.getText(), Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", null).show();
7、参考:
7种形式的Android Dialog使用举例
8、项目源码:
csdn code:git@code.csdn.net:a13429921973/dialogdemo.git
csdn 资源:http://download.csdn.net/detail/a13429921973/6502755
相关文章推荐
- 【Android SDK开发】各种Android Dialog创建及其监听事件实现
- 【Android SDK开发】各种Android Dialog创建及其监听事件实现
- 各种Android Dialog创建及其监听事件实现
- Android:各种Dialog创建及其监听事件实现
- 各种Android Dialog创建及其监听事件实现
- 各种Android Dialog创建及其监听事件实现
- Android Dialog创建及其监听事件实现
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
- Android开发——利用ViewPager实现显示多个item无限轮播+点击事件监听
- Android开发实现AlertDialog中View的控件设置监听功能分析
- Android开发:自定义界面的Dialog,并且实现按钮的监听回调
- Android开发之Button事件实现与监听方法总结
- 【Android开发学习30】动态创建多个按钮,并给每个按键添加监听事件
- Android 开发之 GridView及其事件监听
- Android开发实现Fragment监听返回键事件功能的方法
- Android开发20——单个监听器监听多个按钮点击事件
- android监听文件和目录的创建删除移动等事件
- android开发 事件监听
- Android 开发之自定义Dialog及UI的实现
- 安卓(Android)动态创建多个按钮并添加监听事件