android - 创建 AlertDialog 时会触发什么方法?

标签 android fragment android-alertdialog oncreate

什么方法触发 AlertDialog 创建?

像 Activity 的onCreate(), 我的情况:我有一个 fragment ,在这个 fragment 中我有一个带有此 setOnClickListener() 方法的按钮:

btnAddPromotionAw.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

            AlertDialog.Builder builder = new AlertDialog.Builder(
                    getActivity());

            LayoutInflater inflater = (LayoutInflater) getActivity()
                    .getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);

            View dialog = inflater.inflate(R.layout.promotion_aware_picker,
                    null);
            builder.setView(dialog);

            final AlertDialog alertDialog = builder.create();
            alertDialog.show();

            alertDialog.getWindow().setLayout(600,400);

          }         
    });

我想在上面的 AlertDialog 创建中执行下面的代码:

ArrayList<Goods> Goodslist = new ArrayList<Goods>();
                            Goodslist = promotionAwAccess
                                    .getGoodsByIsMerch();

                            LinearLayout ll1 = (LinearLayout) alertDialog
                                    .findViewById(R.id.linearLayoutPAGoods);

                            final RadioButton[] rdb = new RadioButton[Goodslist.size()];
                            RadioGroup rdg = new RadioGroup(getActivity());
                            rdg.setOrientation(RadioGroup.VERTICAL);
                            rdg.setGravity(Gravity.RIGHT);

                            for (int i = 0; i < Goodslist.size(); i++) {

                                rdb[i] = new RadioButton(getActivity());
                                rdg.addView(rdb[i]);
                                rdb[i].setText(Goodslist.get(i)
                                        .getGoodsName());
                                rdb[i].setId(i);
                                rdb[i].setButtonDrawable(android.R.color.transparent);
                                rdb[i].setCompoundDrawablesWithIntrinsicBounds(
                                        0, 0, R.drawable.btn_radio_custom,
                                        0);

                            }
                            ll1.addView(rdg);

抱歉一开始解释不完整。

最佳答案

AlertDialog.Builder builderSingle = new AlertDialog.Builder(
                    DialogActivity.this);
            builderSingle.setIcon(R.drawable.ic_launcher);
            builderSingle.setTitle("Select One Name:-");
            final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                    DialogActivity.this,
                    android.R.layout.select_dialog_singlechoice);
            arrayAdapter.add("Hardik");
            arrayAdapter.add("Archit");
            arrayAdapter.add("Jignesh");
            arrayAdapter.add("Umang");
            arrayAdapter.add("Gatti");
            builderSingle.setNegativeButton("cancel",
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });

            builderSingle.setAdapter(arrayAdapter,
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            String strName = arrayAdapter.getItem(which);
                            AlertDialog.Builder builderInner = new AlertDialog.Builder(
                                    DialogActivity.this);
                            builderInner.setMessage(strName);
                            builderInner.setTitle("Your Selected Item is");
                            builderInner.setPositiveButton("Ok",
                                    new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(
                                                DialogInterface dialog,
                                                int which) {
                                            dialog.dismiss();
                                        }
                                    });
                            builderInner.show();
                        }
                    });
            builderSingle.show();

关于android - 创建 AlertDialog 时会触发什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789172/

相关文章:

android - RecyclerView 什么都不显示

android - 如何将滚动事件传递给父recyclerview

android - 在 Postexec 上提交 fragment

android - 如何在单击时禁用其他复选框(AlertBuilder)

android - AlertDialog 包装它的内容

java - 如何从 ReactApplication 中的 ReactNativeHost 中获取 MainActivity (ReactActivity)

java - 带有不记名 token 的改造请求

java - 如何将微调器的值放入不同的 fragment 中?

Android ViewPager 查找Fragment for findviewbyid

安卓 :Display a dialog to enable wifi