Android DialogFragment onCreateView是否不返回自定义布局视图?
我目前正在尝试对DialogFragment使用自定义布局,但似乎我做错了什么。这就是我的班级目前的样子:Android DialogFragment onCreateView是否不返回自定义布局视图?,android,android-fragments,dialogfragment,Android,Android Fragments,Dialogfragment,我目前正在尝试对DialogFragment使用自定义布局,但似乎我做错了什么。这就是我的班级目前的样子: @Override public Dialog onCreateDialog(Bundle savedInstanceState) { setRetainInstance(true); Log.d(TAG, "onCreateDialog"); return new AlertDialog.Builder(getActivity()) .se
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
setRetainInstance(true);
Log.d(TAG, "onCreateDialog");
return new AlertDialog.Builder(getActivity())
.setPositiveButton(android.R.string.ok, passDataListener)
.setNegativeButton(android.R.string.cancel, null)
.setCancelable(true)
.create();
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
setTitleFromBundle();
return inflater.inflate(R.layout.dialog_edittext, container);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mEditText = (EditText) view.findViewById(R.id.dialog_edittext);
tvUnits = (TextView) view.findViewById(R.id.dialog_units);
setMaxCharsFromBundle();
setTextFromBundle();
setHintFromBundle();
setInputTypeFromBundle();
setUnitsTextViewFromBundle();
}
正/负按钮与标题一起显示,但我的布局不显示。不能同时使用onCreateDialog和onCreateView两种方法。您必须选择是否要显示基本对话框,然后覆盖onCreateDialog。如果要显示自定义对话框,请覆盖onCreateView。请注意,您还可以覆盖onCreateDialog并使用AlertDialog.setView设置自己的布局。您应该在onCreateView和onCreateDialog之间只实现一种方法,而不是两者都实现 onCreateView:提供对话框的内容 onCreateDialog:创建一个完全自定义的对话框,例如AlertDialog,它有自己的内容 文档中描述了所有内容 有关完整的指南,您可以看到无需覆盖onCreateView
如果您使用的是对话框片段,那么为什么要使用AlertDialog.Builder inOnCreate?
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
setRetainInstance(true);
Log.d(TAG, "onCreateDialog");
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return new AlertDialog.Builder(getActivity())
.setView(inflater.inflate(R.layout.dialog_edittext, null))
.setPositiveButton(android.R.string.ok, passDataListener)
.setNegativeButton(android.R.string.cancel, null)
.setCancelable(true)
.create();
}