How to add multiple buttons on a single AlertDialog

前端 未结 5 462
暗喜
暗喜 2020-12-14 06:12

I have a butoon, on clicking of this button i want to open multiple buttons on a single AlertDialog like this :\"enter

相关标签:
5条回答
  • 2020-12-14 06:22
    Dialog dialog = new Dialog(context);
    RelativeLayout featureLayout = (RelativeLayout) View.inflate(this, R.layout.yourview, null);
    dialog.setContentView(featureLayout);
    dialog.show();
    
    0 讨论(0)
  • 2020-12-14 06:24
    int item = 0;
    ArrayList<String> list = new ArrayList<String>();
    ArrayList<Integer> intList = new ArrayList<Integer>();
    list.add("A");
    list.add("B");
    list.add("C");
    list.add("D"); 
    item = -1; 
    
     for (int i = 0; i < list.size(); i++) { 
        item++; 
        intList.add(i); 
      }
    
    showRatingBarAlertDialog(intList);
    
    private void showRatingBarAlertDialog(ArrayList<Integer> Id) {
        if (item != -1) {
            RatingFragment alertDialog = RatingFragment.instance(BaseActivity.this, Id.get(item), (ratingValue, comments) -> {
                CXLog.d(TAG, "select the rating::" + ratingValue);
                CXLog.d(TAG, "comment the feednback  " + comments);
                item--;
                showRatingBarAlertDialog(requestId);
            });
            alertDialog.show(CXBaseActivity.this.getFragmentManager(), "alertDialog");
        }
    }
    
    0 讨论(0)
  • 2020-12-14 06:28

    A simple solution without xml:

    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setTitle("Title");
    builder.setItems(new CharSequence[]
            {"button 1", "button 2", "button 3", "button 4"},
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // The 'which' argument contains the index position
                    // of the selected item
                    switch (which) {
                        case 0:
                            Toast.makeText(context, "clicked 1", Toast.LENGTH_SHORT).show();
                            break;
                        case 1:
                            Toast.makeText(context, "clicked 2", Toast.LENGTH_SHORT).show();
                            break;
                        case 2:
                            Toast.makeText(context, "clicked 3", Toast.LENGTH_SHORT).show();
                            break;
                        case 3:
                            Toast.makeText(context, "clicked 4", Toast.LENGTH_SHORT).show();
                            break;
                    }
                }
            });
    builder.create().show();
    
    0 讨论(0)
  • 2020-12-14 06:28

    You can only create a Alertdialog with 3 buttons if you dont make the view by yourself.

    You can either make your own custom view in xml.

    but i'd suggest you just make a List.

    Check http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog "Adding a list"

    0 讨论(0)
  • 2020-12-14 06:35

    I would inflate the AlertDialog with my own custom view (my_alert_dialog.xml).

    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    LayoutInflater inflater = getLayoutInflater();
    //inflate view for alertdialog since we are using multiple views inside a viewgroup (root = Layout top-level) (linear, relative, framelayout etc..)
    View view = inflater.inflate(R.layout.my_alert_dialog, (ViewGroup) findViewById(R.id.root)); 
    
    Button button1 = (Button) view.findViewById(R.id.button1); // etc.. for button2,3,4.
    alert.setView(view);
    alert.show();
    
    0 讨论(0)
提交回复
热议问题