错误日志:
<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(),两句换一下位置即可,迷茫了几个小时,原来这么解决!真让人蛋疼