gpt4 book ai didi

android - 在添加内容之前必须调用 ActionBarActivity requestFeature

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:53 26 4
gpt4 key购买 nike

编辑反射(reflect)matias的评论

实际上,最初我的代码中没有supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);,直到我注意到运行时异常当以下操作组合发生时

User presses Home button to minimize the application and tried to resume it from Recent Apps (which is long press of the home button)

When Screen rotation occurs (Note: The manifest does not have configChange declarations)

然后我认为在初始化期间显示不确定的进度条应该是导致问题的原因,所以我只尝试调用 request* 方法,认为它会清除它,但没有任何反应..

Finally i removed showPdIndeterminate(); for the sake of testing. Hence nowhere in my code i am showing it. Still the same happens during the aforementioned circumstances


我有一个基于 fragment 的 ActionBarActivity,我的布局包裹在 DrawerLayout 中,带有 两个框架布局 以容纳两个 fragment 。

我试过了 requestFeature() must be called before adding content error on super.onCreate但仍然是同样的异常(exception)

@Override
protected void onCreate(Bundle savedInstanceState) {
Log.e(TAG, "Inside OnCreate");
// supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showPdIndeterminate();
....
}

showPdIndeterminate()

private void showPdIndeterminate() {
pd = ProgressDialog.show(this, "Initializing", "Pls wait...");
pd.setIndeterminate(true);
pd.show();
}

如果我尝试 supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);,我会得到 NullPointerException,所以只对其进行评论。

错误日志是:

06-16 04:04:57.280: D/AndroidRuntime(27280): Shutting down VM
06-16 04:04:57.280: W/dalvikvm(27280): threadid=1: thread exiting with uncaught exception (group=0x413592a0)
06-16 04:04:57.285: E/AndroidRuntime(27280): FATAL EXCEPTION: main
06-16 04:04:57.285: E/AndroidRuntime(27280): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.demo/com.example.demo.MainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3553)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.access$700(ActivityThread.java:140)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.os.Handler.dispatchMessage(Handler.java:99)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.os.Looper.loop(Looper.java:137)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.main(ActivityThread.java:4898)
06-16 04:04:57.285: E/AndroidRuntime(27280): at java.lang.reflect.Method.invokeNative(Native Method)
06-16 04:04:57.285: E/AndroidRuntime(27280): at java.lang.reflect.Method.invoke(Method.java:511)
06-16 04:04:57.285: E/AndroidRuntime(27280): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
06-16 04:04:57.285: E/AndroidRuntime(27280): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
06-16 04:04:57.285: E/AndroidRuntime(27280): at dalvik.system.NativeStart.main(Native Method)
06-16 04:04:57.285: E/AndroidRuntime(27280): Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
06-16 04:04:57.285: E/AndroidRuntime(27280): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:267)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.Activity.requestWindowFeature(Activity.java:3320)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:63)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
06-16 04:04:57.285: E/AndroidRuntime(27280): at com.example.demo.MainActivity.onCreate(MainActivity.java:464)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.Activity.performCreate(Activity.java:5206)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
06-16 04:04:57.285: E/AndroidRuntime(27280): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
06-16 04:04:57.285: E/AndroidRuntime(27280): ... 12 more

注意:我在方向更改以及通过按主页按钮从最近的应用程序列表启动它时遇到此异常

This exception is **eventually** arising regrdless of having (not having) setRetainInstance(true); in fragment's onActivityCreated() oronCreate()`

为什么会这样?如何解决?

最佳答案

在您的 Activity 中重写 setContentView 并查看调用该方法的位置/内容。一旦你找出它的名称,我相信我们可以找到一个可行的解决方案。

@Override
public void setContentView (int layoutResID)
{
//Set a break point on the next line or log out a message.
super.setContentView(layoutResID);
}

关于android - 在添加内容之前必须调用 ActionBarActivity requestFeature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com