Android App跳出Alert對話框

Android App跳出Alert對話框範例Code如下: 
設定中間的按鈕 setNeutralButton
設定左邊的按鈕 setPositiveButton
設定右邊的按鈕 setNegativeButton

實際上positive是用以表示"同意", negative是用以表示"反對"或"取消", 跟左右邊沒有直接關係,
所以在有些裝置的主題上, 這個按鈕的左右邊位置會是反的,  不用覺得太驚訝。

參考: http://toimy.blogspot.tw/2010/08/android-alertdialog.html

2020-11-02補充:
如果你遭遇以下錯誤可以把AlertDialog.Builder的建構子參數,從getContext()改成this即可
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
AlertDialog alertDialog = new AlertDialog.Builder(this).create();

或是如果你要顯示的Activity是MainActivity的話
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();

這裡的問題是因為Android內建的android.app.AlertDialog.Builder跟android.support.v7.app.AlertDialog的AlertDialog.Builder不太一樣所致
https://developer.android.com/reference/android/app/AlertDialog.Builder

另外,還有套用theme的寫法
new AlertDialog.Builder(MainActivity.this, R.style.Theme_AppCompat_Light_Dialog_Alert)
參考:
  1. https://givemepass.blogspot.com/2015/12/appcompat-dialog.html
  2. https://stackoverflow.com/questions/29797134/how-to-use-and-style-new-alertdialog-from-appcompat-22-1-and-above

留言