2016.3.12 Dialog、FATAL EXCEPTION、AndroidRuntime requestFeature() must be called before adding content

一、问题

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.qbeprint, PID: 30954
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:345)
at com.android.internal.app.AlertController.installContent(AlertController.java:238)
at android.app.AlertDialog.onCreate(AlertDialog.java:372)
at android.app.ProgressDialog.onCreate(ProgressDialog.java:198)
at android.app.Dialog.dispatchOnCreate(Dialog.java:415)
at android.app.Dialog.show(Dialog.java:303)

二、简述

在使用 Dialog 过程中,有自定义 Dialog 的 Layout ,先使用了 Dialog 的 setContentView() 方法,后使用了 show() 方法,造成该错误

三、出现原因

setContentView() 必须放在 show() 方法之后

四、解决措施

setContentView() 放在 show() 执行顺序之后