Как добавить несколько кнопок на одном AlertDialog

У меня есть butut, при нажатии этой кнопки я хочу открыть несколько кнопок на одном AlertDialog следующим образом: enter image description here

Дайте мне помощь:

Я использовал это.... для добавления нескольких кнопок   alertDialog.setButton(удалить, "Удалить", новый OnClickListener() {

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

            }
        });

но я нашел..., сменил setButton() на setButton2().. что-то вроде..... wt xcan я делаю для этого....

Ответ 1

Я бы раздул AlertDialog своим собственным пользовательским представлением (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();

Ответ 2

Простое решение без 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", 0).show();
                            break;
                        case 1:
                            Toast.makeText(context, "clicked 2", 0).show();
                            break;
                        case 2:
                            Toast.makeText(context, "clicked 3", 0).show();
                            break;
                        case 3:
                            Toast.makeText(context, "clicked 4", 0).show();
                            break;
                    }
                }
            });
    builder.create().show();

Ответ 3

Вы можете создать Alertdialog с 3 кнопками, если вы сами не сделаете представление.

Вы можете либо сделать свой собственный пользовательский вид в xml.

но я предлагаю вам просто создать список.

Проверка http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog "Добавление списка"

Ответ 4

Dialog dialog = new Dialog(context);
RelativeLayout featureLayout = (RelativeLayout) View.inflate(this, R.layout.yourview, null);
dialog.setContentView(featureLayout);
dialog.show();

Ответ 5

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