2011-08-29 51 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();