Android 在片段中实现DatePicker时,在添加内容错误之前必须调用requestFeature()
这个特定的错误消息在SO和web上很流行,但我仍然无法从任何建议中找到适合我的解决方案 我试图在我的片段中添加一个日期选择器,当点击一个按钮时,它就会被触发。但是这个错误会不断出现。这是片段类am,使用:Android 在片段中实现DatePicker时,在添加内容错误之前必须调用requestFeature(),android,android-fragments,datepicker,Android,Android Fragments,Datepicker,这个特定的错误消息在SO和web上很流行,但我仍然无法从任何建议中找到适合我的解决方案 我试图在我的片段中添加一个日期选择器,当点击一个按钮时,它就会被触发。但是这个错误会不断出现。这是片段类am,使用: public class MyFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { Context context; @NonNull @
public class MyFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
Context context;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
//Use the current date as the default value for the picker
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
//Create a new instance of datepicker and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.my_layout, container, false);
Button reminderButton = (Button) rootView.findViewById(R.id.dueDateButton);
reminderButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment dialogFragment = new MyFragment();
dialogFragment.show(getFragmentManager(), "datePicker");
}
});
context = getActivity();
return rootView;
}
}
此片段处理选项卡式活动中的一个视图。我尝试补充:
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
就在之前:
View rootView = inflater.inflate(R.layout.newdebt_layout, container, false);
没有运气。
我还尝试添加以下内容:
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
就在活动中的setContentView()
方法之前,该片段也被嵌入其中
我已经看过了,还有一些问题,还有很多其他的问题,都没有运气
在堆栈跟踪中,没有标记代码中的特定行
05-27 06:17:30.687 23204-23204/com.ojonugwaochalifu.blablabla E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.ojonugwaochalifu.blablabla, PID: 23204
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:336)
at com.android.internal.app.AlertController.installContent(AlertController.java:242)
at android.app.AlertDialog.onCreate(AlertDialog.java:337)
at android.app.Dialog.dispatchOnCreate(Dialog.java:374)
at android.app.Dialog.show(Dialog.java:267)
at android.support.v4.app.DialogFragment.onStart(DialogFragment.java:399)
at android.support.v4.app.Fragment.performStart(Fragment.java:1813)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:989)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
at dalvik.system.NativeStart.main(Native Method)
我也面临同样的问题。我在
onCreateView
方法中膨胀另一个自定义对话框视图。解决了这个问题
每次调用show
时,都会调用onCreateView
方法。
请确保您没有在
onCreateView
中无条件地扩展任何其他视图,请发布整个堆栈跟踪,注意跟踪中的哪些行引用了上面代码段中的行。@Commonware我刚刚添加了这些。如您所见,没有特定的代码行被确定为问题的根源。我也有同样的问题。你找到解决办法了吗?@Seekingshillness抱歉,我记不得了