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 的高度元素,你需要删除它们,因为警告对话框不像通常的布局那样有高度限制,所以你的编辑文本在那里但是因为它们匹配不存在的约束,它们是不可见的。您应该或使用不同的布局类型或包装内容,您真的不应该关心警报对话框中的高度。