【Android】Android在AlertDialog使用大全
package com.ceac.deng;
import android.R.string;
import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Toast;
import android.widget.Chronometer.OnChronometerTickListener;
public class MainActivity extends ActionBarActivity {
private Chronometer chronometer;
private Button stopButton;
private Button startButton;
private Button button;
private Button button2;
private Button button3;
private Button button4;
    boolean[] checkedItems = new boolean[] {false, true, false, true, false, true};
    String[] items = new String[] {"植物大战僵尸", "愤慨的 小鸟", "泡泡龙", "开心农场", "QQ飞车", "超级玛丽"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        findView();
        
        chronometer.setBase(SystemClock.elapsedRealtime());
//        chronometer.setFormat("已经用了多少时间:  %s");
        chronometer.start();
        
        chronometer.setOnChronometerTickListener(new OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
// TODO Auto-generated method stub
if (SystemClock.elapsedRealtime() - chronometer.getBase() >= 100000)
{
chronometer.stop();
}
}
});
        
        setListenner();
    }
    /**
     * findView
     */
    private void findView()
    {
    chronometer = (Chronometer) findViewById(R.id.chronometer1);
    stopButton = (Button) findViewById(R.id.stop);
    startButton = (Button) findViewById(R.id.start);
    
    button = (Button) findViewById(R.id.button1);
    button2 = (Button) findViewById(R.id.button2);
    button3 = (Button) findViewById(R.id.button3);
    button4 = (Button) findViewById(R.id.button4);
    
    
    }
    
    private void setListenner()
    {
    stopButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
chronometer.stop();
System.out.println("stop chronometer....");
}
});
    
    startButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
System.out.println("start Chronometer....");
}
});
    
    button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showAlertDialog();
}
});
    
    button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showListDialog();
}
});
    
    button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showSingleChoiceDialog();
}
});
    
    button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showMultiChoiceDialog();
}
});
    
    
    }
    
    /**
     * showDialog
     */
    private void showAlertDialog()
    {
// AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
// alertDialog.setIcon(R.drawable.ic_launcher);
// alertDialog.setTitle("系统提示");
// alertDialog.setMessage("带取消 、中立、确定button的对话框");
//// alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", listener);
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("系统提示");
builder.setMessage("带取消 、中立、确定button的对话框");
//确定
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了确定的button");
}
});
//中立
builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了中立button");
}
});
//取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了取消button");
}
});
builder.show();
    }
    
    /**
     * 带列表的对话框
     */
    private void showListDialog()
    {
    final String[] items = new String[] {"跑步", "羽毛球", "足球"};
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setIcon(R.drawable.ic_launcher);
    builder.setTitle("请选择相应的运动项目");
    builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast(items[which]);
}
}); 
    builder.show();
    }
    
    /**
     * 带有单选列表的和一个button的对话框
     */
    private void showSingleChoiceDialog()
    {
    final String[] items = new String[] {"标准模式", "静音模式", "会议模式", "飞行模式", "户外模式"};
    Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setIcon(R.drawable.ic_launcher);
    builder.setTitle("请你选择须要的情景模式");
    builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("你选择了" + items[which]);
}
});
    builder.setPositiveButton("确定", null);
    builder.show();
    }
    
    /**
     * 带有多选列表项和一个确定button的列表对话框
     */
    private void showMultiChoiceDialog()
    {
//     final boolean[] checkedItems = new boolean[] {false, true, false, true, false};
//     String[] items = new String[] {"植物大战僵尸", "愤慨的 小鸟", "泡泡龙", "开心农场", "QQ飞车", "超级玛丽"};
    
    Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setIcon(R.drawable.ic_launcher);
    builder.setTitle("请选择你喜欢的游戏");
    builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
checkedItems[which] = isChecked;
}
});
    
    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String result = "";
for (int i= 0; i < checkedItems.length; i++)
{
if (checkedItems[i])
{
result += items[i];
result += "  ";
}
}
if (!"".equals(result))
{
showToast(result);
}
}
});
    
    builder.show();
    }
    
    /**
     * 
     * @param str
     */
    private void showToast(String str)
    {
    Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).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;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
【Android】Android在AlertDialog使用大全的更多相关文章
- Stack Overflow 排错翻译  - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder
		Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ... 
- Android中的AlertDialog使用示例五(自定义对话框)
		在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ... 
- Android中的AlertDialog使用示例三(单向选择确定对话框)
		在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ... 
- Android中的AlertDialog使用示例二(普通选项对话框)
		在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ... 
- Android中的AlertDialog使用示例一(警告对话框)
		在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ... 
- Android简单例子——AlertDialog
		最近学习了一段时间的Android,在网上找了些小的Demo,自己模拟这做了下,首先谢谢那些提供例子的朋友 今天主要学习的是简单的Dialog的使用(实现退出对话框)和自定义对话框 1.实现退出对话框 ... 
- Android学习笔记--AlertDialog应用
		1. 自定义实现带图标的TextView IconTextView.java package com.evor.andtest; import android.content.Context; imp ... 
- Android之自定义AlertDialog和PopupWindow实现(仿微信Dialog)
		我们知道,在很多时候,我们都不用Android内置的一些控件,而是自己自定义一些自己想要的控件,这样显得界面更美观. 今天主要是讲自定义AlertDialog和popupWindow的使用,在很多需求 ... 
- android中的AlertDialog具体概述
		android的AlertDialog具体解释 AlertDialog的构造方法所有是Protected的.所以不能直接通过new一个AlertDialog来创建出一个AlertDialog. 要创建 ... 
- Android 中的AlertDialog使用自定义布局
		Android使用指定的View开发弹窗功能 Android开发中进程会使用到我们的AlertDialog,但是比较可惜的是我们的Android原生的AlertDialog的效果又比较的简陋,这个时候 ... 
随机推荐
- 【原创】shadowebdict开发日记:基于linux的简明英汉字典(一)
			全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ... 
- hdu1372 dfs搜索之国际象棋的马
			原题地址 题意 一个8x8的国际象棋棋盘,你有一个棋子"马".算出棋子"马"从某一格到还有一格子的最少步数. 与普通dfs不同的是,你能走的路线不是上下左右,四 ... 
- 读取 raspberrypi 的cpu和gpu温度
			#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import time import command ... 
- [TWRP 2.8.4 ] 小米 3W 中文-英文版本 twrp
			经过半个小时的代码修改,从 2.7.0 移植到 2.8.4 的源代码上. 汉化操作是使用切换语言选项来实现的. 注意: 此版本的 twrp 还不支持双系统切换功能. 作者:laser杨万荣 如果需要转 ... 
- 移动应用开发(IOS/android等一下)在一般图像缓存方案评述(附流程图)
			在移动应用开发.我们经常从网络请求到该设备显示遇到的场景图片. 假设多次发动每个请求,废物流.浪费电.: 将图片持久化到磁盘也不失为一种策略:但每次从文件读取图片也存在一定的io开销,就算採用此策略, ... 
- NYOJ 300 && hdu 2276  Kiki & Little Kiki 2 (矩阵高速功率)
			pid=300">Kiki & Little Kiki 2 时间限制:5000 ms | 内存限制:65535 KB 难度:4 描写叙述 There are n light ... 
- ubuntu下一个jboss-seam-2.2.2.Final/examples/build.xml:754: warning: 'includeantruntime' was not set
			[javac] /home/huihui/app/jboss-seam-2.2.2.Final/examples/build.xml:754: warning: 'includeantruntime' ... 
- HTML基本介绍
			html 即 超文本标记语言 ,即标准通用标记语言下的一个应用. "超文本"就是指页面内能够包括图片.链接.甚至音乐.程序等非文字元素.超文本标记语言的结构包括"头&qu ... 
- 对于Netty的十一个疑问(转)
			[说明]本文原载于码农 IO(manong.io)官方微信 developerWorks,转载.引用请注明出处及作者. 1.Netty 是什么? Netty 是一个基于 JAVA NIO 类库的异步通 ... 
- 【剑指offer】面试题28:弦乐
			def Permutation(data, i): if len( data ) == 0: return # i stand for the start of first part for i in ... 
