现在的位置: 首页 > 综合 > 正文

android.util.AndroidRuntimeException: requestFeature() must be called before adding content

2017年11月17日 ⁄ 综合 ⁄ 共 2568字 ⁄ 字号 评论关闭

错误日志:

<span style="font-size:14px;">12-08 17:33:48.908: E/AndroidRuntime(20671): FATAL EXCEPTION: main
12-08 17:33:48.908: E/AndroidRuntime(20671): Process: com.andian.ispoke, PID: 20671
12-08 17:33:48.908: E/AndroidRuntime(20671): android.util.AndroidRuntimeException: requestFeature() must be called before adding content
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:302)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.android.internal.app.AlertController.installContent(AlertController.java:234)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.app.AlertDialog.onCreate(AlertDialog.java:337)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.app.Dialog.dispatchOnCreate(Dialog.java:383)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.app.Dialog.show(Dialog.java:276)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.andian.ispoke.common.UIHelper.showDialogForDateSelector(UIHelper.java:229)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.andian.ispoke.ui.activity.ActivityPub.onClick(ActivityPub.java:87)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.view.View.performClick(View.java:4472)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.view.View$PerformClick.run(View.java:18795)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.os.Handler.handleCallback(Handler.java:808)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.os.Handler.dispatchMessage(Handler.java:103)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.os.Looper.loop(Looper.java:193)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at android.app.ActivityThread.main(ActivityThread.java:5315)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at java.lang.reflect.Method.invokeNative(Native Method)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at java.lang.reflect.Method.invoke(Method.java:515)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:660)
12-08 17:33:48.908: E/AndroidRuntime(20671): 	at dalvik.system.NativeStart.main(Native Method)</span>


我的代码是这么写的:

<span style="font-size:14px;">View view = View.inflate(this, R.layout.layout_alert_dialog, null);
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setContentView(view);
alertDialog.show();</span>


很简单的一个添加,把AlertDialog换成Dialog就没有问题,但是还是想用AlertDialog,试了很多方式,还是报这个错误,后来解决了,由于alertDialog.show()之前调用了alertDialog.setContentView()了,正确的应该是alertDialog.show()之后调用alertDialog.setContentView(),两句换一下位置即可,迷茫了几个小时,原来这么解决!真让人蛋疼

抱歉!评论已关闭.