【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("带取消 、中立、确定按钮的对话框");
//// alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", listener);
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("系统提示");
builder.setMessage("带取消 、中立、确定按钮的对话框");

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

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了确定的按钮");
}
});

//中立
builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了中立按钮");
}
});

//取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了取消按钮");
}
});

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();

    }
    
    /**
     * 带有单选列表的和一个按钮的对话框
     */
    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();
    }
    
    /**
     * 带有多选列表项和一个确定按钮的列表对话框
     */
    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);
    }
}

时间: 2024-08-17 18:50:51

【Android】Android中AlertDialog用法大全的相关文章

Android中AlertDialog用法实例分析_Android

本文实例分析了Android中AlertDialog用法,分享给大家供大家参考,具体如下: Android中AlertDialog为一些程序提供了对话框,有些功能能够进一步满足程序的需要.下面举例介绍. 程序如下: import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.

Android中AlertDialog用法实例分析

本文实例分析了Android中AlertDialog用法,分享给大家供大家参考,具体如下: Android中AlertDialog为一些程序提供了对话框,有些功能能够进一步满足程序的需要.下面举例介绍. 程序如下: import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.

Android开发中PopupWindow用法实例分析_Android

本文实例分析了Android开发中PopupWindow用法.分享给大家供大家参考,具体如下: private TextView tv_appmanager_title; private ListView lv_app_manager; private LinearLayout ll_appmanager_loading; private AppManagerProvider provider; private List<AppManagerInfo> infos ; private AppM

Android开发中Intent用法总结_Android

本文实例讲述了Android开发中Intent用法.分享给大家供大家参考,具体如下: Android手机软件开发中,Intent作为手机软件开发时很重要的对象需要引起我们的重视,实际上,intent也是体现Android开发具有其独特性的一个标志性的对象. 当一个Activity要启动另外一个Activity的时候,也许一个以前较为熟悉的模式是:调用一个new函数,直接创建具有窗口特征类的对象,又或者直接调用一个启动函数来启动.这种方式简洁.明了,但是却违背了Android开发的理念.Andro

Android开发中LayoutInflater用法详解_Android

本文实例讲述了Android开发中LayoutInflater用法.分享给大家供大家参考,具体如下: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findViewById()是找xml布局文件下的具体widget控件(如Button.TextView等). 具体作用: 1.对于一个没有被载入或者想要动态载入的界面,都需要使用Layout

Android开发中GridView用法示例

本文实例讲述了Android开发中GridView用法.分享给大家供大家参考,具体如下: Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来,应用的比较多的就是组合图片显示.下面我就详细讲一个例子. 首先写一个类继承BaseAdapter 1. Java代码 package com.yarin.android.Examples_04_19; import android.content.Context; import android.view.View; impo

Android开发中LayoutInflater用法详解

本文实例讲述了Android开发中LayoutInflater用法.分享给大家供大家参考,具体如下: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findViewById()是找xml布局文件下的具体widget控件(如Button.TextView等). 具体作用: 1.对于一个没有被载入或者想要动态载入的界面,都需要使用Layout

Android开发中PopupWindow用法实例分析

本文实例分析了Android开发中PopupWindow用法.分享给大家供大家参考,具体如下: private TextView tv_appmanager_title; private ListView lv_app_manager; private LinearLayout ll_appmanager_loading; private AppManagerProvider provider; private List<AppManagerInfo> infos ; private AppM

Android开发中Intent用法总结

本文实例讲述了Android开发中Intent用法.分享给大家供大家参考,具体如下: Android手机软件开发中,Intent作为手机软件开发时很重要的对象需要引起我们的重视,实际上,intent也是体现Android开发具有其独特性的一个标志性的对象. 当一个Activity要启动另外一个Activity的时候,也许一个以前较为熟悉的模式是:调用一个new函数,直接创建具有窗口特征类的对象,又或者直接调用一个启动函数来启动.这种方式简洁.明了,但是却违背了Android开发的理念.Andro