我创建了一个Custom AlertDialog,我正在尝试为EditTexts设置文本。我试过了
public class CheckListDialog extends DialogFragment {
private View view;
public CheckListDialog(View view) {
this.view = view;
}
@Override
public AlertDialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View dialogLayout = inflater.inflate(R.layout.dialog_checklist, null);
EditText etCost = (EditText) dialogLayout.findViewById(R.id.etCost);
EditText etOdoReading = (EditText) dialogLayout.findViewById(R.id.etOdometer);
etOdoReading.setText("bla");
etCost.setText("tada");
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(Reminders.this, android.R.color.transparent));
builder.setView(inflater.inflate(R.layout.dialog_checklist, null))
.setTitle("jaja")
.setPositiveButton("Add", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
return builder.create();
}
}
EditTexts为空,不包含值。我该如何解决这个问题?
答案 0 :(得分:4)
替换
builder.setView(inflater.inflate(R.layout.dialog_checklist, null))
与
builder.setView(dialogLayout)
您正在修改一个布局中的edittexts,然后为该对话框充气新布局。
答案 1 :(得分:0)
对于此类操作,您必须使用自定义布局来扩展到您的 CheckListDialog 类。 DialogFragment将为您提供根据您的要求自定义对话框的完全自由。
您可以参考此tutorial