【问题标题】:alertdialog - is it cool way make new alertdialog when popup this?alertdialog - 弹出这个时制作新的 alertdialog 是不是很酷?
【发布时间】:2018-07-26 21:55:13
【问题描述】:

相关问题是here

做android app,我觉得我的代码不太酷。

因为,我会在需要对话框时创建新的 AlderDialog.Builder 以防止出现此错误

“指定的孩子已经有一个父母。你必须先在孩子的父母上调用 removeView()。”

我的代码在这里

mDisposable.add(
    RxView.clicks(fabTodoAdd).subscribe(aVoid -> {
      initBuilder();
      builder.show();
    })
);

private void initBuilder() {
  if (getActivity() != null) {
    builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Add Your Todo");
    builderInput = new EditText(getActivity());
    builderInput.setInputType(InputType.TYPE_CLASS_TEXT);
    builder.setView(builderInput);
    builder.setPositiveButton("OK", (dialog, which) -> builderInput.getText());
    builder.setNegativeButton("Cancel", (dialog, which) -> dialog.cancel());
  }
}

有没有办法只做一次构建器,而不是调用 (init, show) 而只调用 show ?

【问题讨论】:

    标签: android android-alertdialog


    【解决方案1】:

    有一种非常简单的方法可以使用自定义布局制作对话框: 请查看以下代码:

    final Dialog dialog = new Dialog(MainActivity.this);
        dialog.setContentView(R.layout.dialog_news_description);//Your custom layout
        TextView sometextview = dialog.findViewById(R.id.textView);// Textview in your custom layout
        Button somebutton = dialog.findViewById(R.id.button_done);// Button in your layout
        somebutton.setOnClickListener(new View.OnClickListener() {//on button click listener
            @Override
            public void onClick(View view) {
                //DO your job.... 
                //then...
                dialog.dismiss();//dismiss the dialog
            }
        });
        dialog.show();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 2020-10-12
      • 1970-01-01
      • 2015-10-16
      • 2011-06-26
      • 1970-01-01
      • 2019-05-09
      相关资源
      最近更新 更多