2017-11-28 2 views
0

재생할 수없는 Google Play 콘솔에 IllegalStateException이 표시됩니다.IllegalStateException - 조각이 더 이상 존재하지 않습니다.

java.lang.RuntimeException: 
     at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3253) 
     at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3349) 
     at android.app.ActivityThread.access$1100 (ActivityThread.java:221) 
     at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1794) 
     at android.os.Handler.dispatchMessage (Handler.java:102) 
     at android.os.Looper.loop (Looper.java:158) 
     at android.app.ActivityThread.main (ActivityThread.java:7224) 
     at java.lang.reflect.Method.invoke (Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230) 
     at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120) 
Caused by: java.lang.IllegalStateException: 
     at android.support.v4.app.FragmentManagerImpl.getFragment (FragmentManager.java:668) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:999) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1252) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1234) 
     at android.support.v4.app.FragmentManagerImpl.dispatchCreate (FragmentManager.java:2041) 
     at android.support.v4.app.Fragment.performCreate (Fragment.java:1964) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1029) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1252) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1234) 
     at android.support.v4.app.FragmentManagerImpl.dispatchCreate (FragmentManager.java:2041) 
     at android.support.v4.app.Fragment.performCreate (Fragment.java:1964) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1029) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1252) 
     at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1234) 
     at android.support.v4.app.FragmentManagerImpl.dispatchCreate (FragmentManager.java:2041) 
     at android.support.v4.app.FragmentController.dispatchCreate (FragmentController.java:163) 
     at android.support.v4.app.FragmentActivity.onCreate (FragmentActivity.java:331) 
     at android.support.v7.app.AppCompatActivity.onCreate (AppCompatActivity.java:85) 
     at com.example.eliran.forum.RootActivity.onCreate (RootActivity.java:53) 
     at com.example.eliran.forum.MainActivity.onCreate (MainActivity.java:58) 
     at android.app.Activity.performCreate (Activity.java:6876) 
     at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1135) 
     at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3206) 

내가 조각을 포함 NavigationView와 활동이 : 여기

는 스택 추적입니다.

나는 뒤로 버튼의 사용자를 눌러 다음 코드를 포함하는 함수가 호출 될 때이 예외가 발생 의심 :

if (getSupportFragmentManager().getBackStackEntryCount() > 0) { 
    getSupportFragmentManager().popBackStack(); 
} 

구글 플레이 콘솔이 표시되지 않습니다, 그러나 이것은이다 예외 오류 :

throwException(new IllegalStateException("Fragment no longer exists for key " 
      + key + ": index " + index)); 
+0

NavigationView에서 조각을 대체하기 위해 노력하지만 조각을 추가하지. 단편을 바꾸려면 addToBackStack()을 사용하지 마십시오. –

+0

조각을 대체 한 다음 fragmentTransaction.addToBackStack (null); –

+0

대신 getFragmentManager()를 사용하십시오. –

답변

1

코드의 어딘가에 setTargetFragment()를 사용했을 것입니다. 그냥 사용하지 마십시오. 대신 콜백과 리스너를 통해 fragemnts 사이에서 다음과 같이 통신하십시오. fragmentDialog -

OnRemovedTopicListener callback = null;

public interface OnRemovedTopicListener { 
    public abstract void onTopicRemoved(int position); 
} 

public void setOnRemovedTopicListener(OnRemovedTopicListener l){ 
    callback = l; 
} 

콜백 사용 - callback.onTopicRemoved (위치); 부모 조각에서

-

dialogFragment.setOnRemovedTopicListener(new ForumTopicDialogFragment.OnRemovedTopicListener() { 
     @Override 
     public void onTopicRemoved(int position) { 
      // you code here 
     } 
    }); 
관련 문제