Parcourir la source

[공통][Bug] 일부 액티비티에서 드로워 오픈 시 onBackPressed() 가 작동하지 않는 현상 패치

hyodong.min il y a 6 ans
Parent
commit
b4a495d01e

+ 6 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -73,7 +73,7 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
 
   protected int slideType;
   protected View rootView;
-  protected FullDrawerLayout drawerLayout;
+  protected DrawerLayout drawerLayout;
   private CoordinatorLayout containerMain;
   private AllMenuDriver allMenuDriver;
 
@@ -149,6 +149,7 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
        * drawer setting
        */
       drawerLayout = findViewById(R.id.drawer_layout);
+      drawerLayout.setFocusableInTouchMode(false);  // 오픈 시 onBackPressed() 가 작동하지 않는 현상 패치
       ConstraintLayout drawerView = findViewById(R.id.drawer_item);
       containerMain = findViewById(R.id.layout_container);
 
@@ -455,7 +456,10 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
       @Override
       public void onDrawerClosed(View drawerView) {
         allMenuDriver.onDrawerCloseEnd();
-        getCurrentFragment().onDrawerCloseEnd();
+        final FragmentBase fragment = getCurrentFragment();
+        if (null != fragment) {
+          fragment.onDrawerCloseEnd();
+        }
       }
     });
   }