Android中AlertDilog显示简单和复杂列表的方法

Android中AlertDilog显示简单和复杂列表的方法,第1张

概述本文实例讲述了Android中AlertDialog显示简单和复杂列表的方法。分享给大家供大家参考,具体如下:

本文实例讲述了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,final OnClickListenerListener)

3、从字符串数组中装载数据

public Builder setSingleChoiceItems(CharSequence[] items,final OnClickListener Listener)

4、从listadapter对象中装载数据

public Builder setSingleChoiceItems(listadapter adpater,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,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程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android中AlertDilog显示简单和复杂列表的方法全部内容,希望文章能够帮你解决Android中AlertDilog显示简单和复杂列表的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存