看板 KnucklesNote
作者 標題 [AndroidStudio] 使用對話框 AlertDialog
時間 2016-02-21 Sun. 10:35:37
要建立一個有標題和內容文字
點一下「確定」後會關閉的對話框
使用
//建立一個對話框
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click");
}
})
.create();
//要將對話框顯示時
dialog.show();
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click");
}
})
.create();
//要將對話框顯示時
dialog.show();
若出現要import哪個檔案時,選擇
import android.app.AlertDialog;
執行結果
![[圖]](http://i.imgur.com/gr8u45L.png)
點一下「確定」或旁邊灰色區域即可關閉對話框
也可以用程式關閉
dialog.dismiss();
要使用兩個按鈕的話,加上 setNegativeButton()
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click ok");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.create();
dialog.show();
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click ok");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.create();
dialog.show();
若點擊取消鈕只要關掉對話框就好,不需其他動作的話,可以改成這樣
.setNegativeButton("取消", null)
執行結果
![[圖]](http://i.imgur.com/kP9Txtx.png)
最多可以使用三個按鈕
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click ok");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.setNeutralButton("略過", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click skip");
}
})
.create();
dialog.show();
.setTitle("標題")
.setMessage("內容")
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click ok");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.setNeutralButton("略過", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click skip");
}
})
.create();
dialog.show();
![[圖]](http://i.imgur.com/AtOgR4o.png)
要讓使用者輸入資料的話,使用
final EditText input = new EditText(this);
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("請輸入你的名稱")
.setView(input)
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String inputName = input.getText().toString();
Log.d("Main", "你輸入的名稱為:" + inputName);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.create();
dialog.show();
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("請輸入你的名稱")
.setView(input)
.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String inputName = input.getText().toString();
Log.d("Main", "你輸入的名稱為:" + inputName);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("Main", "click cancel");
}
})
.create();
dialog.show();
![[圖]](http://i.imgur.com/D3OugBT.png)
參考
http://developer.android.com/intl/zh-tw/guide/topics/ui/dialogs.html
--
※ 作者: Knuckles 時間: 2016-02-21 10:35:37
※ 編輯: Knuckles 時間: 2016-09-06 05:02:25
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 525
回列表(←)
分享