我在Eclipse Android项目中使用此代码
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
但Eclipse说:
此方法在API级别3中已弃用。使用setButton(int, 使用CharSequence,android.content.DialogInterface.OnClickListener) BUTTON_POSITIVE
答案 0 :(得分:16)
AlertDialog alert = new AlertDialog.Builder(this).create();
alert.setTitle("Error");
alert.setMessage("Sorry, your device doesn't support flash light!");
alert.setButton(Dialog.BUTTON_POSITIVE,"OK",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alert.show();
答案 1 :(得分:4)
为了确保您的对话框符合设计指南,API现在有3种类型的AlertDialog按钮:BUTTON_POSITIVE,BUTTON_NEUTRAL和BUTTON_NEGATIVE。这也为从右到左的支持提供了正确的位置。
我建议使用构建器模式
创建public void SetException<T>(T exception)
SetException(e);
AlertDialog
有关AlertDialog.Builder builder = new AlertDialog.Builder(myContext);//Context parameter
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do stuff
}
});
builder.setMessage("some message");
AlertDialog alertDialog = builder.create();
的更多信息,请参阅API reference
答案 2 :(得分:2)
alertDialog=new AlertDialog.Builder(getApplicationContext()).create();
alertDialog.setTitle("Hello");
alertDialog.setMessage("Hai");
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "hai", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "Thanks", Toast.LENGTH_SHORT).show();
}
});
alertDialog.show();
答案 3 :(得分:1)
你可以使用它,但下次最好使用AlertDialog.Builder。
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,
"OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
答案 4 :(得分:0)
您可以使用:
alertDialog.setPositiveButton(R.string.yes, yesListener);
alertDialog.setNegativeButton(R.string.no, noListener);
答案 5 :(得分:0)
val name = object{}.javaClass.enclosingMethod.name
方法接受三个参数
setButton();
提供三个参数,它可以正常工作。如果您不需要第3个参数,则可以将null作为
传递// Message or clickListener
OR
alertDialog.setButton(BUTTON_POSITIVE, "OK", (DialogInterface.OnClickListener) null);
如果您不想传递三个参数请使用alertDialog.setButton(BUTTON_POSITIVE, "OK", (Message) null);
的方法AlertDialog.builder
。