Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Android学习笔记之具有选择功能的对话框

为了实现具有选择功能的对话框这一程序,首先我们来介绍一个非常有用的组件——AlertDialog。java.lang.Object |-- Android.app.Dialog |-- android.app.AlertDialog从继承关系中我们可以看出,AlertDialog直接继承自Dialog。我们知道,Dialog窗口主要目的是与User确认及互动,用于“程序提示”,“警告”或“确认”等,是android应用程序中非常重要的一部分。在android sdk中,虽然有许多窗口,但真正具有交互功能的则为AlertDialog对话窗口。AlertDialog同样提供了一个静态的嵌套类AlertDialog.Builder供开发者使用。AlertDialog可以以列表项目的方式来显示内容,这种显示方式也是非常常见的,如用于投票、选择器以及遥控器等应用程序。程序运行效果:Activity程序如下所示,注意在第二个AlertDialog对话框中设置了两个按钮,但由于本程序重在说明AlertDialog用法,故未添加具体的实现。public class MainActivity extends Activity
{
 private Button button=null;
 
 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  super.setContentView(R.layout.activity_main);
  this.button=(Button)super.findViewById(R.id.button);
  //设置按钮单击消息响应
  this.button.setOnClickListener(new OnClickListener()
  {
      @Override
   public void onClick(View v)
      {
       //新建AlertDialog对话框
    new AlertDialog.Builder(MainActivity.this)
    .setTitle(R.string.string_alert_title)
    .setItems(R.array.items_dialog,new DialogInterface.OnClickListener()
    {
     @Override
     public void onClick(DialogInterface dialog, int which)
     {
      //取出响应字符串资源
         CharSequence string_body=MainActivity.this.getResources().getString(R.string.string_alert_body);
         final String[] colors=MainActivity.this.getResources().getStringArray(R.array.items_dialog);
         //弹出新的对话框
      new AlertDialog.Builder(MainActivity.this)
      .setMessage(string_body+colors[which])
      .setNeutralButton(R.string.string_alert_ok, new DialogInterface.OnClickListener() //确认操作
      {
       @Override
       public void onClick(DialogInterface dialog, int which)
       {
        //添加操作
       }
      })
      .setNegativeButton(R.string.string_alert_cancel, new DialogInterface.OnClickListener() //取消操作
      {
       @Override
       public void onClick(DialogInterface dialog, int which)
       {
        dialog.dismiss();
       }
      }).show();
     }
    }).show();
   }
  });
 }}布局文件非常简单,只有一个Button组件,此处不再给出。
 
字符串资源文件如下:<?xml version="1.0" encoding="utf-8"?>
<resources>    <string name="app_name">demo3</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="button_text">选择颜色</string>
    <string name="string_alert_title">请选择您喜欢的颜色</string>
    <string name="string_alert_body">你选择的是:</string>
    <string name="string_alert_ok">确认</string>
    <string name="string_alert_cancel">取消</string>
   
    <array name="items_dialog">
        <item>红色</item>
        <item>绿色</item>
        <item>蓝色</item>
    </array>
   
</resources>更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11