MaterialDialog 表单不工作

MaterialDialog form not working

我正在使用 afollestad MaterialDialog Library(https://github.com/afollestad/material-dialogs) 并使用自定义 view.Inside 视图我有五个输入和微调器。但我正在尝试从输入中获取值但不起作用。我还需要从 api.

填充微调器
   MaterialDialog dialog = new MaterialDialog.Builder(this)
                .title("Edit Paid Amount")
                .customView(R.layout.edit_payment_model, true)
                .positiveText("Update Payment").build();
Spinner spinner= (Spinner) dialog.getCustomView();
 dialog.show();

任何人都可以帮助我如何实现这一目标吗?

我已经试过默认警报对话框正常工作

 AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
        LayoutInflater inflater = this.getLayoutInflater();

        View dialogView= inflater.inflate(R.layout.edit_payment_model, null);
        dialogBuilder.setView(dialogView);
        EditText editText = (EditText)
                dialogView.findViewById(R.id.editPaymentAmount);

        editText.setText("test label");
        dialogBuilder.create().show();

我什至检查了这个问题https://github.com/afollestad/material-dialogs/issues/230

我不熟悉这个库,但你应该在自定义视图中找到 spinner/edittext 视图。

    MaterialDialog dialog = new MaterialDialog.Builder(this)
                    .title("Edit Paid Amount")
                    .customView(R.layout.edit_payment_model, true)
                    .positiveText("Update Payment")
                    .build();

    View customView = dialog.getCustomView();
    Spinner spinner = (Spinner) customView.findViewById(R.id.spinner)
    EditText editText = (EditText) customView.findViewById(R.id.editPaymentAmount);
    editText.setText("test label");
    dialog.show();

如果我理解,从 AlertDialog 中的视图获取值的方法

LayoutInflater inflater = getActivity().getLayoutInflater();

View dialogView = inflater.inflate(R.layout.edit_license, null);
builder.setView(dialogView)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int id) {

            EditText valueView = (EditText) dialogView.findViewById(R.id.license_value); //here
            if(valueView == null) Log.d("AA", "NULL");
            else{
                String value = valueView.getText().toString();
                mListener.onDialogPositiveClick(EditLicenseDialogFragment.this, value);
            }
        })

进展顺利,但要获取值,您必须直接从被调用的视图中获取它。