1. 程式人生 > >【Android開發】範例1-詢問是否退出的對話方塊

【Android開發】範例1-詢問是否退出的對話方塊

根據之前學的Android對話方塊技術,來實現下面一個效果:介面有一個"退出"按鈕,按下之後會彈出一個詢問是否退出的提示對話方塊,單擊"不"按鈕,不退出遊戲,單擊"是的"按鈕,將退出遊戲。

接下來實現此例項:

res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:id="@+id/layout1"
    android:gravity="center_horizontal"
    >  
  	<Button
  	    android:id="@+id/button1"
  	    android:layout_width="wrap_content"
  	    android:layout_height="wrap_content" 
  	    android:text="退出"/>
</LinearLayout>  

MainActivity:
package com.example.test;  
  
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
  
public class MainActivity extends Activity {  


    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        
        Button button=(Button)findViewById(R.id.button1);
        //為"退出"按鈕新增單擊事件監聽器
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View view) {
				AlertDialog alert=new AlertDialog.Builder(MainActivity.this).create();
				alert.setIcon(R.drawable.stop);
				alert.setTitle("退出?");
				alert.setMessage("真的要退出本軟體嗎?");
				//新增取消按鈕
				alert.setButton(DialogInterface.BUTTON_NEGATIVE,"不",new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						
					}
				});
				//新增"確定"按鈕
				alert.setButton(DialogInterface.BUTTON_POSITIVE,"是的", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						 finish();
					}
				});
				alert.show();
			}
		});
    }  
}  

執行結果如圖: