2016-04-21 24 views
0

在我的應用程序中,我正在用動畫替換帶有其他片段的片段。其他片段打開完美,但應用程序崩潰使用自定義動畫替換片段後應用程序崩潰

java.lang.NullPointerException                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2796)                   at android.view.View.getDisplayList(View.java:12648)                   at android.view.View.getDisplayList(View.java:12694)                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2910)                   at android.view.View.getDisplayList(View.java:12588)                   at android.view.View.getDisplayList(View.java:12694)                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2910)                   at android.view.View.getDisplayList(View.java:12588)                   at android.view.View.getDisplayList(View.java:12694)                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2910)                   at android.view.View.getDisplayList(View.java:12588)                  at android.view.View.getDisplayList(View.java:12694)                   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2910)                   at android.view.View.getDisplayList(View.java:12588)                   at android.view.View.getDisplayList(View.java:12694)                  at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1198)                   at android.view.ViewRootImpl.draw(ViewRootImpl.java:2173)                   at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2045)                   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1854) 
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) 
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) 
android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 
at android.view.Choreographer.doCallbacks(Choreographer.java:562) 

這裏是我的呼叫數據:

frameContainer = (FrameLayout) parentView.findViewById(R.id.frameContainerDialog); 
     FragmentManager fm = getChildFragmentManager(); 
     FragmentTransaction ft = fm.beginTransaction(); 
     Fragment fragment = new FragmentConsultUserStep2(consultInfo);  
     int anim1 = R.anim.slide_in_right; 
     int anim2 = R.anim.slide_out_left; 
     ft.setCustomAnimations(anim1, anim2); 
    ft.replace(R.id.frameContainerDialog, fragment, "FRAGMENT_STEP2"); 
     ft.commit(); 

我的動畫類

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:duration="500" 
     android:fromXDelta="100%" 
     android:toXDelta="0%" /> 
    <!-- <alpha 
     android:duration="5000" 
     android:fromAlpha="loader0.loader0" 
     android:toAlpha="loader1.loader0" />--> 
</set> 

請讓我知道的情況下,任何一個發現了同樣的問題,已經解決了它。

回答

1
FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); 

DetailsFragment newFragment = DetailsFragment.newInstance(); 

ft.replace(R.id.details_fragment_container, newFragment, "detailFragment"); 

// Start the animated transition. 
ft.commit(); 
+0

getFragmentManager()不在這裏工作 – Androiduser

+0

@Preet你確定你使用的是正確類型的'FragmentManager'嗎?你在AppCompatActivity或其他支持庫資源中。嘗試'getSupportFragmentManager()' – Yokich

+0

是的,因爲它工作正常。由於昨天它崩潰了,即使我沒有改變任何東西:( – Androiduser