2.5.2 使用alertdialog 创建列表对话框

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btnColor"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="颜色列表" />
        <Button
        android:id="@+id/btnColorSC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="颜色单选" />
                <Button
        android:id="@+id/btnColorMC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="颜色多选" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="TextView" />

</LinearLayout>
package com.moon.hello2;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.R.anim;
import android.R.bool;
import android.R.integer;
import android.animation.AnimatorSet.Builder;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.Gallery;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.SimpleAdapter;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity {
    private final String[] colorStrings = new String[]{"红色","绿色","黄色"};
    private static final int DIALOG_SC = 1;
    private final boolean[] checkStatus = new boolean[]{true, true, false};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.btnColor);
        Button sc = (Button)findViewById(R.id.btnColorSC);
        Button mc = (Button)findViewById(R.id.btnColorMC);
        final TextView textView = (TextView)findViewById(R.id.textView1);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                android.app.AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("简单列表dialog");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setItems(MainActivity.this.colorStrings, new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface arg0, int position) {
                        // TODO Auto-generated method stub
                        textView.setText("选择了"+MainActivity.this.colorStrings[position]);
                    }
                });
                builder.create().show();
            }
        });
        sc.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                MainActivity.this.showDialog(DIALOG_SC);
            }
        });
        mc.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("这是一个多选alert");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setMultiChoiceItems(MainActivity.this.colorStrings, MainActivity.this.checkStatus, new DialogInterface.OnMultiChoiceClickListener() {

                    @Override
                    public void onClick(DialogInterface arg0, int arg1, boolean arg2) {
                        // TODO Auto-generated method stub
                        String textString = "你选择了:";
                        for (int i = 0; i < MainActivity.this.checkStatus.length; i++) {
                            if (checkStatus[i]) {
                                textString += MainActivity.this.colorStrings[i]+",";
                            }
                        }
                        textView.setText(textString);
                    }
                });
                builder.setPositiveButton("确定", null);
                builder.create().show();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    @Deprecated
    protected Dialog onCreateDialog(int id) {
        // TODO Auto-generated method stub
        if (DIALOG_SC == id) {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setSingleChoiceItems(MainActivity.this.colorStrings, 1, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    TextView textView = (TextView)findViewById(R.id.textView1);
                    textView.setText("通过单选dialog选择了"+colorStrings[arg1]);
                }
            });
            builder.setPositiveButton("确定", null);
            return builder.create();
        }
        return super.onCreateDialog(id);
    }
}
时间: 2024-10-10 22:32:03

2.5.2 使用alertdialog 创建列表对话框的相关文章

2.5.3 使用alertDialog创建自定义对话框

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:orientation="vertical&q

AlerDialog创建单选列表对话框

因为项目中需要在多个测量选项中选择一项进行数据查询,所以首先是找找有什么控件是这类型的.很容易找到Spinner这一控件,但事实上做出来后,在AVD上运行感觉还可以但在实际手机上运行确实很丑,大抵是功夫不到家.所以试着使用疯狂讲义讲到的AlerDialog创建单选列表对话框,编程中遇到了一个问题.根据讲义写了一下代码,监听时出现了.setSingleChoiceItems  ,OnClickListener()  都标红报错 1 public class Measure extends Acti

Adrnoid开发系列(二十五):使用AlertDialog创建各种类型的对话框

AlertDialog能够生成各种内容的对话框.可是每种对话框都会有这样的的结构: 类似下边这样的的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDgwMDUzMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 这仅仅是最简单的对话框. 我们来看下创建一个对话框须要的步骤: 1.使用创建AlertDialog.Builder对

SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表

SharePoint创建列表并使用程序管理列表 列表是SharePoint开发人员输入数据的方式之一.使用Web界面创建一个列表并添加一些数据,步骤如下: 1. 打开站点. 2. 点击所有网站内容. 3. 点击创建. 4. 选择自定义列表,命名Customers,并输入描述.选中在快速启动导航显示,点击创建. 这将创建一个自定义列表.接下来我们添加三个栏:Region/Size/Sales. 1. 点击功能区创建栏按钮,命名Region,选择"选项"类型.增加四个选项:East/Wes

alertDialog创建登陆界面,判断用户输入

alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得, 需要在onClickListener中获取,代码如下: 1 public boolean onOptionsItemSelected(MenuItem item) { 2 // TODO Auto-generated method stub 3 switch(item.getItemId()){ 4 case 1: 5 Intent intent = new Intent(); 6

Android实现“是否退出”对话框和“带图标的列表”对话框

今天我们学习的内容是实现两种对话框(Dialog),第一种是询问是否退出对话框,另外一种是带图标的列表对话框,程序的执行效果是,我们点击button1的时候,弹出第一种对话框,我们点击button2的时候,弹出另外一种对话框. (1)  首先是布局方面,有三个xml文件,一个是Activity的布局文件,一个是Dialog的布局文件,一个是ListView的布局文件,内容分别例如以下: activity_main.xml <LinearLayout xmlns:android="http:

上传列表模板,并使用列表模板创建列表

1.上载列表模板 网站设置---Web设计器库---列表模板---文件---上载文档(选择*.stp文件上传) 2.利用列表模板创建列表 网站内容---添加应用程序---选择你的列表模板---创建 http://www.2cto.com/os/201406/308004.html

QT学习之路--创建一个对话框

Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学习之路:Qt学习之路(7):创建一个对话框(上)这个程序.编译出现 invalid use of incomplete type ‘class QPushButton’ findButton->setEnabled(!text.isEmpty()); ^ In file included from

ObjectARX 学习笔记007:创建模态对话框的一般步骤

1.新建一个工程,注意将"使用MFC"选项勾上. 2.使用[insert/Resouce]菜单项插入一个对话框. 3.此时会弹出一个窗体,直接按Enter键可以调出[属性]面板.设置窗体的ID和窗体的Caption. 4.可以点击[属性]面板左上角的图钉图标将其常显. 5.向窗体中插入控件,依次设置其ID与Caption. 6.按Ctrl+W为对话框资源创建一个类.此时系统会在工程中添加一个.cpp文件和一个对应的.h文件. 7.注册一个新命令,用于显示新的对话框. 8.在xxxCom