標籤:對話方塊 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.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() {@Overridepublic void onChronometerTick(Chronometer chronometer) {// TODO Auto-generated method stubif (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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubchronometer.stop();System.out.println("stop chronometer....");}}); startButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubchronometer.setBase(SystemClock.elapsedRealtime());chronometer.start();System.out.println("start Chronometer....");}}); button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//showAlertDialog();myThread = new Thread(new Runnable() {@Overridepublic 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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubshowListDialog();}}); button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubshowSingleChoiceDialog();}}); button4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubshowMultiChoiceDialog();}}); } /** * 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubshowToast("點擊了確定的按鈕");}});//中立builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubshowToast("點擊了中立按鈕");}});//取消builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubshowToast("點擊了取消按鈕");}});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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubshowToast(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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubshowToast("你選擇了" + 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() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {// TODO Auto-generated method stubcheckedItems[which] = isChecked;}}); builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString 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對話方塊的使用執行個體