【Android】Android中AlertDialog对话框的使用实例
发布日期:2021-06-29 20:54:37
浏览次数:3
分类:技术文章
本文共 8107 字,大约阅读时间需要 27 分钟。
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.Looper;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; Thread myThread; 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(); myThread = new Thread(new Runnable() { @Override public void run() { Looper.prepare(); showAlertDialog(); System.out.println("hello===============>"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Looper.loop(); } }); myThread.start(); } }); 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); }}
转载地址:https://dengjin.blog.csdn.net/article/details/41281245 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月18日 16时05分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Microsoft SQL Server 2019 安装服务没有及时响应启动或控制请求。
2019-04-30
#if DEBUG #endif
2019-04-30
sql server decimal
2019-04-30
SQL Server中Id自增列的最大Id是多少
2019-04-30
AdminLTE
2019-04-30
asp.net core Authorization
2019-04-30
sqlserver dateadd&datediff使用
2019-04-30
SonarQube
2019-04-30
Dapper.Contrib
2019-04-30
asp.ent core swagger
2019-04-30
asp.net core ajax post controller
2019-04-30
Nexus+Nginx+docker
2019-04-30
DTO
2019-04-30
DDD
2019-04-30
wcf messageEncoding="Mtom"
2019-04-30
asp.net core webapi post
2019-04-30
C#中使用TransactionScope类(分布式事务) 和 锁
2019-04-30
SecurityProtocolType
2019-04-30