2011-08-29 52 views
8

我已經使用requestFocus()將代碼寫入到ALert Dialog負面按鈕。但是按鈕顏色不會改變。我可以手動將背景圖像設置爲該按鈕。但是我直接從本地需要那個按鈕。如何將焦點設置爲 ALlert對話框中的第二個按鈕?如何設置焦點到android alert alert dialog button?

蔭發送代碼片段瞭解

alertbox.show(); 
alertbox.getButton(AlertDialog.BUTTON_NEGATIVE).requestFocus(); 

即使我

alertbox.show(); 
alertbox.getButton(AlertDialog.BUTTON_NEGATIVE).requestFocus(View.FOCUS_FORWARD) 

試圖請任何一個可以此查詢responde?

問候, Android開發者

+0

您是否在顯示對話框後運行requestFocus()函數?根據我的理解,如果您在對話框可見之前嘗試對焦按鈕,它將不會產生任何效果。 – David

+0

顯示警告對話框後,我只寫了上面的行。 – ADIT

回答

11

只是setOnShowListener()來AlertDialog,並將焦點設置在負按鈕。

alertDialog.setOnShowListener(new DialogInterface.OnShowListener(){ 

     @Override 
     public void onShow(DialogInterface dialog) { 

      Button negative = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE); 
      negative.setFocusable(true); 
      negative.setFocusableInTouchMode(true); 
      negative.requestFocus(); 
     } 
    }); 
    alertDialog.show();