ソースを参照

[공통][Bug] FragmentChanger 수정

hyodong.min 7 年 前
コミット
4cb9606c18

+ 20 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/FragmentBackStackChanger.java

@@ -3,8 +3,10 @@
  */
 package kr.co.zumo.app.lifeplus.supervisor;
 
+import android.support.v4.app.FragmentTransaction;
 import android.support.v7.app.AppCompatActivity;
 
+import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.view.fragment.factory.FragmentFactory;
 
 /**
@@ -24,11 +26,29 @@ public class FragmentBackStackChanger extends FragmentChanger {
     super(activity, containerId, fragmentFactory);
   }
 
+
+  /**
+   * 스크린 전환을 다음으로 진행 효과를 주면서 실행
+   *
+   * @param id ScreenID.LOGIN
+   */
+  @Override
+  public void changeToNext(@ScreenID.FragmentID int id) {
+
+    FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction();
+    fragmentTransaction.addToBackStack("A");
+    fragmentTransaction.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.back_enter, R.anim.back_exit);
+
+    changeFragment(id, fragmentTransaction);
+
+  }
+
   /**
    * 이전 스크린으로 전환 popBackStack() 이용
    *
    * @param id ScreenID.LOGIN
    */
+  @Override
   public void changeToBack(@ScreenID.FragmentID int id) {
 
     if (activity.getSupportFragmentManager().getBackStackEntryCount() > 0) {

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/FragmentChanger.java

@@ -43,7 +43,7 @@ public class FragmentChanger extends ScreenChanger {
    * @param id                  ScreenID.LOGIN
    * @param fragmentTransaction FragmentTransaction
    */
-  private void changeFragment(@ScreenID.FragmentID int id, FragmentTransaction fragmentTransaction) {
+  protected void changeFragment(@ScreenID.FragmentID int id, FragmentTransaction fragmentTransaction) {
     Log.i("APP# FragmentChanger | changeFragment", "| screen id: " + id);
 
     Fragment fragment = fragmentFactory.getFragment(id);
@@ -73,8 +73,7 @@ public class FragmentChanger extends ScreenChanger {
   public void changeToNext(@ScreenID.FragmentID int id) {
 
     FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction();
-    fragmentTransaction.addToBackStack("A");
-    fragmentTransaction.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.back_enter, R.anim.back_exit);
+    fragmentTransaction.setCustomAnimations(R.anim.enter, R.anim.exit);
 
     changeFragment(id, fragmentTransaction);