Android中AlertDilog显示简单和复杂列表的方法
本文实例讲述了android中alertdialog显示简单和复杂列表的方法。分享给大家供大家参考,具体如下:
alertdialog 显示简单列表 setitems
import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.os.handler; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class listdialogtest1extends activityimplements onclicklistener { private button btnlistdialog; private string[] provinces =new string[] { "上海", "北京", "湖南", "湖北", "海南" }; /** called when the activity is first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnlistdialog = (button) findviewbyid(r.id.btnlistdialog); btnlistdialog.setonclicklistener(this); } @override public void onclick(view v) { switch (v.getid()) { case r.id.btnlistdialog: showlistdialog(); break; } } private void showlistdialog() { alertdialog.builder builder =new alertdialog.builder(this); builder.settitle("请选择省份"); /** * 1、public builder setitems(int itemsid, final onclicklistener * listener) itemsid表示字符串数组的资源id,该资源指定的数组会显示在列表中。 2、public builder * setitems(charsequence[] items, final onclicklistener listener) * items表示用于显示在列表中的字符串数组 */ builder.setitems(provinces, new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog,int which) { /* * ad变量用final关键字定义,因为在隐式实现的runnable接口 的run()方法中 需要访问final变量。 */ final alertdialog ad =new alertdialog.builder( listdialogtest1.this).setmessage( "你选择的是:" + which + ": " + provinces[which]).show(); handler handler = new handler(); runnable runnable = new runnable() { @override public void run() { // 调用alertdialog类的dismiss()方法关闭对话框,也可以调用cancel()方法。 ad.dismiss(); } }; // 5秒后运行run()方法。 handler.postdelayed(runnable, 5 * 1000); } }); builder.create().show(); } }
alertdialog 显示复杂列表 setmultichoiceitems
一、通过alertdialog.builder类的setmultichoiceitems()方法可以创建列表对话框,方法如下:
1、 从资源文件中装载数据:
public builder setmultichoiceitems(int itemsid, boolean[]checkeditems, final onmultichoicelistener listener)
2、从数据集中装载数据
public builder setmultichoiceitems(cursor cursor, stringischeckedcolumn, string labelcolumn, final onmultichoicelistenerlistener)
3、从字符串数组中装载数据
public builder setmultichoiceitems(charsequence[] items,boolean[] checkeditems, final onmultichoicelistener listener)
import android.app.activity; import android.app.alertdialog; import android.app.alertdialog.builder; import android.content.dialoginterface; import android.content.dialoginterface.onmultichoiceclicklistener; import android.graphics.color; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.textview; public class diaactivity extends activity { /** called when the activity is first created. */ private button btn; private textview tv; private string[] shuxing = { "字体颜色", "字体大小" }; private boolean[] chuzhi = { false, false }; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btn = (button) findviewbyid(r.id.button1); tv = (textview) findviewbyid(r.id.textview1); btn.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub builder b = new alertdialog.builder(diaactivity.this); b.settitle("gggggg"); b.setmultichoiceitems(shuxing, chuzhi, new dialoginterface.onmultichoiceclicklistener() { @override public void onclick(dialoginterface dialog, int which, boolean ischecked) { switch (which) { case 0: chuzhi[0] = ischecked; break; case 1: chuzhi[1] = ischecked; break; default: break; } } }); b.setpositivebutton("确定", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { if (chuzhi[0] == true) { tv.settextcolor(color.blue); } if (chuzhi[1] == true) { tv.settextsize(50f); } } }); b.create().show(); } }); } }
二、通过alertdialog.builder类的setsinglechoiceitems方法可以创建带单按钮的列表:方法如下:
1、从资源文件中装载数据:
public builder setsinglechoiceitems(int itemsid, intcheckeditem, final onclicklistener listener)
2、从数据集中装载数据
public builder setsinglechoiceitems(cursor cursor, intcheckeditem, string labelcolumn, final onclicklistenerlistener)
3、从字符串数组中装载数据
public builder setsinglechoiceitems(charsequence[] items, intcheckeditem, final onclicklistener listener)
4、从listadapter对象中装载数据
public builder setsinglechoiceitems(listadapter adpater, intcheckeditem, final onclicklistener listener)
import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.os.handler; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.toast; public class singlechoiceitemstest extends activityimplements onclicklistener { private string[] province = new string[] { "上海", "北京", "湖南", "湖北", "海南" }; private button btnsinglechoicelist; // 单击事件对象的实例 private buttononclick buttononclick = new buttononclick(1); /** called when the activity is first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnsinglechoicelist = (button) findviewbyid(r.id.btnsinglechoice); btnsinglechoicelist.setonclicklistener(this); } @override public void onclick(view v) { showsinglechoicebutton(); } // 在单选选项中显示 确定和取消按钮 //buttononclickg变量的数据类型是buttononclick,一个单击事件类 private void showsinglechoicebutton() { alertdialog.builder builder = new alertdialog.builder(this); builder.settitle("请选择省份"); builder.setsinglechoiceitems(province, 0, buttononclick); builder.setpositivebutton("确定", buttononclick); builder.setnegativebutton("取消", buttononclick); builder.show(); } private class buttononclick implements dialoginterface.onclicklistener { private int index; // 表示选项的索引 public buttononclick(int index) { this.index = index; } @override public void onclick(dialoginterface dialog,int which) { // which表示单击的按钮索引,所有的选项索引都是大于0,按钮索引都是小于0的。 if (which >= 0) { //如果单击的是列表项,将当前列表项的索引保存在index中。 //如果想单击列表项后关闭对话框,可在此处调用dialog.cancel() //或是用dialog.dismiss()方法。 index = which; } else { //用户单击的是【确定】按钮 if (which == dialoginterface.button_positive) { //显示用户选择的是第几个列表项。 final alertdialog ad = new alertdialog.builder( singlechoiceitemstest.this).setmessage( "你选择的地区是:" + index + ":" + province[index]).show(); //五秒钟后自动关闭。 handler hander = new handler(); runnable runnable = new runnable() { @override public void run() { ad.dismiss(); } }; hander.postdelayed(runnable, 5 * 1000); } //用户单击的是【取消】按钮 else if (which == dialoginterface.button_negative) { toast.maketext(singlechoiceitemstest.this, "你没有选择任何东西", toast.length_long); } } } } }
更多关于android相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。
上一篇: java8 集合之Stack详解及实例
下一篇: 详解JAVA后端实现统一扫码支付:微信篇
推荐阅读
-
Android中AlertDilog显示简单和复杂列表的方法
-
简单讲解Android开发中触摸和点击事件的相关编程方法
-
Android ListView中动态显示和隐藏Header&Footer的方法
-
Android中简单调用图片、视频、音频、录音和拍照的方法
-
Android中AlertDilog显示简单和复杂列表的方法
-
Android Material设计中列表和卡片的创建方法解析
-
Android Material设计中列表和卡片的创建方法解析
-
Android中系统默认输入法设置的方法(输入法的显示和隐藏)
-
Android中系统默认输入法设置的方法(输入法的显示和隐藏)
-
MAC中显示隐藏文件和不显示隐藏文件的方法(超简单)