【问题标题】:Android - Activity transition crash with ActionBarActivityAndroid - ActionBarActivity 的活动转换崩溃
【发布时间】:2014-11-13 17:22:22
【问题描述】:

我目前正在尝试实现 Material Design 活动转换。因为一个我真的不知道的原因,它崩溃了。有人可以给我一个线索吗? (我不知道这是否重要,但在我的 MainActivity 中,我有一个带有 Fragments 的 ViewPager,我尝试从中启动下一个 Activity)

非常感谢您的帮助。

我的代码:

public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {
    (...)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.i("TAAG", "MainActivity::onCreate1");
        super.onCreate(savedInstanceState);
        Log.i("TAAG", "MainActivity::onCreate2");
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
        Log.i("TAAG", "MainActivity::onCreate3");
        setContentView(R.layout.activity_main);
        Log.i("TAAG", "MainActivity::onCreate4");
        (...)
    }

这里是日志:

11-13 18:12:36.442    1098-1098/I/TAAG﹕ MainActivity::onCreate1
11-13 18:12:36.544    1098-1098/I/TAAG﹕ MainActivity::onCreate2
11-13 18:12:36.559    1098-1098/E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: mypackage, PID: 1098
    java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage/mypackage.MainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
            at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:301)
            at mypackage.MainActivity.onCreate(MainActivity.java:42)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

【问题讨论】:

  • 问题从 mypackage.MainActivity.onCreate(MainActivity.java:42) 开始。 onCreate 中的第 42 行是什么?

标签: android transition material-design


【解决方案1】:

尝试在super.onCreate() 之前调用getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

【讨论】:

    猜你喜欢
    • 2016-03-16
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2016-11-09
    相关资源
    最近更新 更多