Android-如何在alertdialog中应用按钮聚焦和按下按钮来选择是或否按钮
当按下后退按钮时,我创建了一个退出应用程序的警告对话框。我想在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
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版本,您可以删除该方法,但不要担心,