2013年3月16日----具有选择功能的对话框

具有选择功能的对话框----AlertDialog.Builder

       AlertDialog.Builder是一个神奇的对话框,这个对话框中也可以包含对话窗口,级层层叠叠的AlertDialog;本范例将示范如何利用一个按钮事件,在出发这个按钮事件后,再通过类似列表项目的方式呈现在AlertDialog里。一般可用作投票、选择器、遥控器等类型的范例,最后再返回程序,取得User选择的菜单项目结果。

在res/values/strings.xml中加入:

      

<string-array name="number">

              <item>一号</item>

              <item>二号</item>

              <item>三号</item>

              <item>四号</item>

       </string-array>


 

主程序MainActivity.java中代码如下:

 

package com.example.test01;

 

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

 

public class MainActivity extends Activity {

       Button button01;

       TextView textView01;

       ProgressDialog progressDialog;

       @Override

       protected void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.activity_main);

              button01 = (Button)findViewById(R.id.button01);

              textView01 = (TextView)findViewById(R.id.textView01);

              button01.setOnClickListener(new View.OnClickListener()

              {

                     public void onClick(View v) {

                            AlertDialog.Builder builder = new Builder(MainActivity.this);

                            builder.setTitle("选择一个号吧");

                            builder.setIcon(R.drawable.ic_launcher);

                            builder.setItems(R.array.number, new DialogInterface.OnClickListener() {

                                   public void onClick(DialogInterface dialog, int which) {

                                          String[] strings = getResources().getStringArray(R.array.number);

                                          new AlertDialog.Builder(MainActivity.this)

                                                 .setTitle("您的选择是:")

                                                 .setMessage(strings[which])

                                                 .setPositiveButton("确定", new DialogInterface.OnClickListener() {

                                                        public void onClick(DialogInterface dialog, int which) {

                                                               /*在这里写需要做的是*/

                                                        }

                                                 }).show();

                                   }

                            });

                            builder.show();

                     }

              });

       }

       @Override

       public boolean onCreateOptionsMenu(Menu menu) {

              // Inflate the menu; this adds items to the action bar if it is present.

              getMenuInflater().inflate(R.menu.main, menu);

              return true;

       }

}


你可能感兴趣的:(2013年3月16日----具有选择功能的对话框)