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);
}
})
进展顺利,但要获取值,您必须直接从被调用的视图中获取它。
我正在使用 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);
}
})
进展顺利,但要获取值,您必须直接从被调用的视图中获取它。