【问题标题】:How to put two buttons on alert box如何在警报框上放置两个按钮
【发布时间】:2013-01-06 12:51:02
【问题描述】:

我在android中做了一个简单的警告框程序。现在我必须放两个按钮“确定”和“取消”但是当我运行程序时它只显示“取消”按钮......我的代码是如下:

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  
    }
});
    }
}

提前谢谢你。

【问题讨论】:

标签: android button android-alertdialog buttonclick


【解决方案1】:

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

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  
    }
});
    }
}

这很好用。您必须为警报框的按钮编号。

【讨论】:

    【解决方案2】:

    简单提醒

     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();
    

    【讨论】:

      【解决方案3】:

      像这样改变我们安排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();
              }
          });
      

      【讨论】:

      • @nagarjuna-Thanx 兄弟...!
      【解决方案4】:

      添加按钮的正确方法:

      积极的

      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

      【讨论】:

      • @Robinhood-Thnx,,...!robin
      【解决方案5】:
      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();
      

      }

      【讨论】:

        【解决方案6】:

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

        1. setPositiveButton
        2. setNegativeButton
        3. setNeutralButton

        【讨论】:

        • @Dharmendra-Thanx 兄弟..!
        【解决方案7】:

        你需要使用 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  
            }
        });
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2012-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多