如何在警报框上放两个按钮

时间:2013-01-23 05:21:35

标签: android button android-alertdialog buttonclick

我在android.now中制作了一个简单的警报框程序,我必须把两个按钮“确定”和“取消”但是当我运行程序时它只显示“取消”按钮...我的代码是如下:

Main.java

public class MainActivity extends Activity {
Button btn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
    btn = (Button)findViewById(R.id.button);
    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    btn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        alertDialog.setTitle("Title");
        alertDialog.setMessage("Message");
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {
              // TODO Add your code for the button here.
               Toast.makeText(getApplicationContext(), "well come", 1).show();
           }
        });
        alertDialog.setButton("cancel",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "yoy have pressed cancel", 1).show();
            }
        });
        // Set the Icon for the Dialog
        alertDialog.setIcon(R.drawable.ic_launcher);
        alertDialog.show();
        // see http://androidsnippets.com/simple-alert-dialog-popup-with-title-message-icon-and-button  
    }
});
    }
}

提前谢谢。

7 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。这就是做了。

public class MainActivity extends Activity {
    Button btn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        btn = (Button)findViewById(R.id.button);
        final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
            alertDialog.setTitle("Title");
            alertDialog.setMessage("Message");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int which) {
                   Toast.makeText(getApplicationContext(), "well come", 1).show();
               }
            });
        alertDialog.setButton2("cancel",new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(), "yoy have pressed cancel", 1).show();
            }
        });
        // Set the Icon for the Dialog
        alertDialog.setIcon(R.drawable.ic_launcher);
        alertDialog.show();
        // see http://androidsnippets.com/simple-alert-dialog-popup-with-title-message-icon-and-button  
    }
});
    }
}

这很好用。您必须为alert-box按钮编号。

答案 1 :(得分:1)

我们安排setPositiveButtonoksetNegativeButtoncancel按钮。

 final AlertDialog.Builder alertDialog= new AlertDialog.Builder(this);

 alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int which) {
          // TODO Add your code for the button here.
           Toast.makeText(getApplicationContext(), "well come", 1).show();
       }
    });
    alertDialog.setNegativeButton("cancel",new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "yoy have pressed cancel", 1).show();
        }
    });

答案 2 :(得分:1)

添加按钮的正确方法:

积极

alertDialog.setPositiveButton("OK",new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,int id) {
        // perform your action
    }
});

对于否定

alertDialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,int id) {
        // if this button is clicked, just close
        // the dialog box and do nothing
        dialog.cancel();
    }
});

Android Alert Dialog Example

答案 3 :(得分:1)

简单警报

 private AlertDialog AskOption()
 {
    AlertDialog myQuittingDialogBox =new AlertDialog.Builder(this) 
        //set message, title, and icon
        .setTitle("Title") 
        .setMessage("Message") 
        .setIcon(R.drawable.icon)

        .setPositiveButton("yes", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int whichButton) { 

                //your code
            }   
        })

        .setNeutralButton("No", new DialogInterface.OnClickListener() { 
            public void onClick(DialogInterface dialog, int whichButton) { 

                dialog.dismiss();
         } 
        })

        .create();
        return myQuittingDialogBox;

    }

使用

AlertDialog al = AskOption();
al.show();

答案 4 :(得分:0)

public void showDialog(Activity activity, String title, CharSequence message) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
if (title != null)
    builder.setTitle(title);
builder.setMessage(message);
builder.setPositiveButton("OK", null);
        builder.setNegativeButton("Cancel", null);
builder.show();

}

答案 5 :(得分:0)

您可以使用AlertDialog.Builder课程。有一些方法可以使用此构建器类在对话框上放置按钮。

  1. setPositiveButton
  2. setNegativeButton
  3. setNeutralButton

答案 6 :(得分:0)

你需要使用setPositiveButton()和setnegativeButton()之类的,

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
Button btn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
    btn = (Button)findViewById(R.id.button);
    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
btn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        alertDialog.setTitle("Title");
        alertDialog.setMessage("Message");
        alertDialog.setPositiveButton("OK",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, close
                    // current activity
                     Toast.makeText(getApplicationContext(), "well come", 1).show();
                }
              });
        alertDialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int id) {
                    // if this button is clicked, just close
                    // the dialog box and do nothing
                     Toast.makeText(getApplicationContext(), "yoy have pressed cancel", 1).show();
                }
            });
        // Set the Icon for the Dialog
        alertDialog.setIcon(R.drawable.ic_launcher);
        alertDialog.show();
        // see http://androidsnippets.com/simple-alert-dialog-popup-with-title-message-icon-and-button  
    }
});
    }
}