【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的效果又比较的简陋,这个时候 ...
随机推荐
- jdk和jre是什么?都有什么用?
大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.由于这样更能帮助大家弄清楚它们的差别: Jre 是java runtime environme ...
- Directx11学习笔记【十七】纹理贴图
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5596180.html 在之前的例子中,我们实现了光照和材质使得场景 ...
- Phone Number 2010年山东省第一届ACM大学生程序设计竞赛
Phone Number Time Limit: 1000MS Memory limit: 65536K 题目描述 We know that if a phone number A is anothe ...
- CSDN 夏令营课程 项目分析
主题如以下: 正确改动后的程序: #include <iostream.h> //using namespace std; class BASE { char c; public: BAS ...
- Spring4.0MVC学习资料,ApplicationContext中的方法具体解释(三)
做为java开源的一部分,spring框架一直排在老大的位置.Spring4.0 是 Spring 推出的一个重大版本号升级,进一步加强了 Spring 作为 Java 领域第一开源平台的地位.Spr ...
- 学习pthreads,创建和终止多线程
更CPU多线程编程,通过笔者的研究发现,,pthreads使用日趋广泛.它是螺纹POSIX标准,它定义了一组线程的创建和操作API. 配置环境见上博客文章.配置环境后,只需要加入#include &l ...
- C#和C++下数据类型对应表
/C++中的DLL函数原型为//extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char ...
- ASP.NET自定义控件组件开发 第五章 模板控件开发
原文:ASP.NET自定义控件组件开发 第五章 模板控件开发 第五章 模板控件开发 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接 ...
- ACdream: ACfun
ACfun Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatisti ...
- HDU 2063:过山车(偶匹配,匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...