Android - 如何在alertdialog中按下按钮并按下按钮是或否按钮
问题描述:
当按下后退按钮时,我创建了一个用于退出应用程序的警告对话框。我想在Alertdialog中应用按钮聚焦和按钮按下是或否按钮。我已经在我的应用程序中为其他按钮应用了按钮聚焦和按钮按下。Android - 如何在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));
}
}
,或者可以创建自定义视图,并显示
更多信息,你可以看到This question
感谢。它工作,但它给出了警告“从类型视图的方法setBackgroundDrawable(可绘制)已弃用”如何解决这个问题。 – daas12 2014-10-04 12:15:21
是的,该方法已被弃用,因为我用if-else方法来检查sdk的版本,如果你的minSdkVersion大于JELLY_BEAN的版本,你可以删除它,但不用担心, – 2014-10-04 12:18:22