Android 中的 EditText 从对话框中消失
EditText disappearing from dialog in Android
我的对话框中需要几个编辑文本,我通常在 xml 中添加它们,但打开后它们就消失了这是我的代码:
public class SubmissionDialog extends AppCompatDialogFragment {
private TextProcessor tpCode;
private EditText etOutput;
private EditText etExpectedOutput;
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.view_submission_dialog, null);
Bundle bundle = this.getArguments();
builder.setView(view)
.setTitle("Task submission.")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// nothing
}
});
tpCode = (TextProcessor) view.findViewById(R.id.tpCodeDialog);
etOutput = (EditText) view.findViewById(R.id.etDialogOutput);
etExpectedOutput = (EditText) view.findViewById(R.id.etDialogExpectedOutput);
tpCode.setTextContent(bundle.getString("code"));
tpCode.setLanguage(new JavaLanguage());
tpCode.setColorScheme(EditorTheme.INSTANCE.getMONOKAI());
etOutput.setText(bundle.getString("output"));
etExpectedOutput.setText(bundle.getString("expectedOutput"));
return builder.create();
}
}
这特别奇怪,因为我做了很多次,但只有这一次它消失了,我在我的 xml 中检查 bundle is not empty 也没有错误。
既然你在评论中告诉我你使用了约束布局并且在上面的评论中有 0dp 的高度元素,你需要删除它们,因为警告对话框不像通常的布局那样有高度限制,所以你的编辑文本在那里但是因为它们匹配不存在的约束,它们是不可见的。您应该或使用不同的布局类型或包装内容,您真的不应该关心警报对话框中的高度。
我的对话框中需要几个编辑文本,我通常在 xml 中添加它们,但打开后它们就消失了这是我的代码:
public class SubmissionDialog extends AppCompatDialogFragment {
private TextProcessor tpCode;
private EditText etOutput;
private EditText etExpectedOutput;
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.view_submission_dialog, null);
Bundle bundle = this.getArguments();
builder.setView(view)
.setTitle("Task submission.")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// nothing
}
});
tpCode = (TextProcessor) view.findViewById(R.id.tpCodeDialog);
etOutput = (EditText) view.findViewById(R.id.etDialogOutput);
etExpectedOutput = (EditText) view.findViewById(R.id.etDialogExpectedOutput);
tpCode.setTextContent(bundle.getString("code"));
tpCode.setLanguage(new JavaLanguage());
tpCode.setColorScheme(EditorTheme.INSTANCE.getMONOKAI());
etOutput.setText(bundle.getString("output"));
etExpectedOutput.setText(bundle.getString("expectedOutput"));
return builder.create();
}
}
这特别奇怪,因为我做了很多次,但只有这一次它消失了,我在我的 xml 中检查 bundle is not empty 也没有错误。
既然你在评论中告诉我你使用了约束布局并且在上面的评论中有 0dp 的高度元素,你需要删除它们,因为警告对话框不像通常的布局那样有高度限制,所以你的编辑文本在那里但是因为它们匹配不存在的约束,它们是不可见的。您应该或使用不同的布局类型或包装内容,您真的不应该关心警报对话框中的高度。