nmx*_*ime 8 android android-fragments android-actionbaractivity
编辑反映matias's
评论
实际上,最初我没有supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
或requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
在我的代码中,直到我注意到runtime exception when below combinations of actions happened
用户按下主页按钮以最小化应用程序并尝试从最近的应用程序(长按主页按钮)恢复它
当屏幕旋转发生时(注意:清单没有 configChange声明)
然后我认为在初始化期间显示不确定的进度条应该导致问题,所以只有我尝试调用request*
方法,认为它会清除它,但没有发生任何事情..
最后我
showPdIndeterminate();
为了测试而删除了.因此,在我的代码中我无处可见.在上述情况下仍然发生同样的情况
我有一个片段ActionBarActivity
,我的布局包裹在里面DrawerLayout
,two framelayouts
以容纳两个frgaments.
我尝试在super.onCreate上添加内容错误之前必须调用requestFeature(),但仍然是相同的异常
@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();
....
}
Run Code Online (Sandbox Code Playgroud)
并且showPdIndeterminate()
是
private void showPdIndeterminate() {
pd = ProgressDialog.show(this, "Initializing", "Pls wait...");
pd.setIndeterminate(true);
pd.show();
}
Run Code Online (Sandbox Code Playgroud)
NullPointerException
如果我尝试supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
,我会得到,所以只评论它.
错误日志是:
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
Run Code Online (Sandbox Code Playgroud)
注意:我在方向更改时以及通过按主页按钮从最近的应用程序列表启动它时会收到此异常
这个例外****最终**无法
setRetainInstance(true);
在片段的onActivityCreated() or
onCreate()中拥有(没有 )
为什么会这样?怎么解决?
android.support.v7.app.ActionBarActivity
通过添加ActionBar
. 此外,这FEATURE_INDETERMINATE_PROGRESS
取决于操作栏是否存在。
尝试这样的事情:
@Override
protected void onCreate(Bundle savedInstanceState) {
ABD = ActionBarActivityDelegate.createDelegate(this);
super.onCreate(savedInstanceState);
ABD.onCreate(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)
该类可以在这里ActionBarActivityDelegate
找到。
最后,如果可能的话,您应该考虑锁定屏幕方向。此处对此进行了详细描述。
归档时间: |
|
查看次数: |
2747 次 |
最近记录: |