Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-如何在alertdialog中应用按钮聚焦和按下按钮来选择是或否按钮_Android_Button_Android Alertdialog - Fatal编程技术网

Android-如何在alertdialog中应用按钮聚焦和按下按钮来选择是或否按钮

Android-如何在alertdialog中应用按钮聚焦和按下按钮来选择是或否按钮,android,button,android-alertdialog,Android,Button,Android Alertdialog,当按下后退按钮时,我创建了一个退出应用程序的警告对话框。我想在Alertdialog中应用“聚焦”按钮和“按下”按钮来显示“是”或“否”按钮。我已经为我的应用程序中的其他按钮应用了按钮聚焦和按钮按下 public void onBackPressed() { // TODO Auto-generated method stub createDialog(); } private void createDialog() { // TODO Auto-generated m

当按下后退按钮时,我创建了一个退出应用程序的警告对话框。我想在Alertdialog中应用“聚焦”按钮和“按下”按钮来显示“是”或“否”按钮。我已经为我的应用程序中的其他按钮应用了按钮聚焦和按钮按下

public void onBackPressed() {
    // TODO Auto-generated method stub
    createDialog();
}

private void createDialog() {
    // TODO Auto-generated method stub
    AlertDialog.Builder alertdlg = new AlertDialog.Builder(this);
    alertdlg.setMessage("Are you sure you want to exit?");
    alertdlg.setCancelable(false);
    alertdlg.setPositiveButton("Yes", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

            Myactivity.super.onBackPressed();

        }
    });
    alertdlg.setNegativeButton("No", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    }); 

    alertdlg.create().show();

 }

您可以使用以下代码:

// your code

AlertDialog dialog = alertdlg.create();
dialog.show();

Button b = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
if(b != null)
{

 int sdk = android.os.Build.VERSION.SDK_INT;
 if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
       b.setBackgroundDrawable(getResources().getDrawable(R.drawable.your_selector));
 } else {
       b.setBackground(getResources().getDrawable(R.drawable.your_selector));
   }
}
或者您可以创建自定义视图并显示该视图


有关更多信息,请参见

谢谢。它起作用了,但它给出了警告:类型视图中的setBackgroundDrawableDrawable方法已被弃用。是的,该方法已被弃用,因为我使用if-else方法检查sdk版本,如果您的minSdkVersion大于JELLY_BEANs版本,您可以删除该方法,但不要担心,