主页 > 案例 > Android学习 > JavaScript教程 Android学习 ASP.NET JAVA

android学习笔记(35)android AlertDialog创建列表对话框[2]

辰乐科技 | 发布时间: 2018-04-07 21:56

AlertDialog.Builder 除了提供了 setMessage 方法来设H对话
框所显示的消息之外,还提供了如下方法来设置对话框显示列表内容。

 setltems(int itemsld, Dialoglnterface.OnClickListener listener):创建普通列表对话框。 setMultiChoiceltems(CharSequenceQ items, boolean[] checkedltems, Dialoglnterface. OnMulti ChoiceClickListener listener):创建多选列表对话框。  setSingleChoiceltems(CharSequenceQ items, int checkedltem, Dialoglnterface. OnClickListener listener):创建单选列表对话框。 setAdapter(ListAdapter adapter, Dialoglnterface.OnClickListener listener):创建根 据ListAdapter提供列表项的列表对话框。


上面列出的4个方法具有一定代表性,实际上AlertDialog.Builder还提供了一 |些重载的方法,用于为对话框添加列表项。上面通过setltems方法来示范一个普通列表项的对话框,该程序的主界面布况也非常简 单,故此处不提供界面布局的文件。
程序淸单:ListDialog\src\org\crazyit\dialog\ListDialog.java

package org.crazyit.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class ListDialog extends Activity {   @Override  public void onCreate(Bundle savedInstanceState)  {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);   Button bn = (Button)findViewById(R.id.bn);   final Builder b = new AlertDialog.Builder(this);   //为按钮绑定事件监听器   bn.setOnClickListener(new View.OnClickListener()   {    @Override    public void onClick(View source)    {     //设置对话框的图标     b.setIcon(R.drawable.tools);     //设置对话框的标题     b.setTitle("简单列表对话框");     //为对话框设置多个列表     b.setItems(      new String[] {"红色" , "绿色" , "蓝色"}      //为按钮设置监听器      , new OnClickListener()       {       //该方法的which参数代表用户单击了那个列表项       @Override       public void onClick(DialogInterface dialog        , int which)        {        TextView show = (TextView)findViewById(R.id.show);        //which代表哪个列表项被单击了        switch(which)        {         case 0:          show.setBackgroundColor(Color.RED);          break;         case 1:          show.setBackgroundColor(Color.GREEN);          break;         case 2:          show.setBackgroundColor(Color.BLUE);          break;                }            }      });     //创建、并显示对话框     b.create().show();     }   });  } }

上面的程序中粗体字代码调用AlertDialog.Builder的 setltems方法为对话框设置了多个列表项,此处生成的只是三个 普通列表项。
运行上面的程序后单击“选择颜色”按钮,程序将显示如图 2.48所示的界面。
      如果调用 AlertDialog.Builder 的 setSingleChoiceltems、 setMultieChoice Items、setAdapter方法来设置列表项,则可创建单选列表对话框、多选列表对话框、自定义列表对话框。


实例:使用AlertDialog创建单选列表对话框

相关热门文章

服务热线