不推荐使用AlertDialog setButton

时间:2015-05-03 19:46:36

标签: android eclipse

我在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

6 个答案:

答案 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 方法接受三个参数

  1. 按钮类型
  2. 按钮文字
  3. 消息/ OnClickListener setButton();
  4. 提供三个参数,它可以正常工作。如果您不需要第3个参数,则可以将null作为

    传递
    // Message or clickListener

    OR

    alertDialog.setButton(BUTTON_POSITIVE, "OK", (DialogInterface.OnClickListener) null);
    

    如果您不想传递三个参数请使用alertDialog.setButton(BUTTON_POSITIVE, "OK", (Message) null); 的方法AlertDialog.builder