按下返回鍵,除了可以拋訊息視窗,確認User是否離開以外,還可以做一些調查、輸入...等。
這裡示範調查效果,當User按下返回鍵離開應用程式時,出現按鈕做調查,User按下按鈕,則再拋訊息在UI介面。
程式結果畫面如下:
程式:
package com.example.test;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public boolean onKeyDown(int keyCode,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0){ //確定按下退出鍵and防止重複按下退出鍵
dialog();
}
return false;
}
private void dialog(){
//自訂訊息視窗
Dialog dialog = new AlertDialog.Builder(this).setIcon(android.R.drawable.btn_star).setTitle("西瓜調查").setMessage("你喜歡吃西瓜嗎?").setPositiveButton("很喜歡", new DialogInterface.OnClickListener() { //setIcon設定視窗顯示btn_star的星形圖
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "我很喜歡吃西瓜。", Toast.LENGTH_LONG).show();
}
}).setNegativeButton("不喜歡", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "我不喜歡吃西瓜。", Toast.LENGTH_LONG).show();
}
}).setNeutralButton("還可以", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "我對西瓜沒喜歡與不喜歡。", Toast.LENGTH_LONG).show();
}
}).create();
dialog.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;
}
}