CustomDrawerLayout을 작성하여 MainActivity의 루트뷰로 사용하고 있습니다.
Click이벤트 처리를 위하여 CustomDrawerLayout을 작성중 뷰가 계속 열린 상태로 화면에 보여져 FragmentContainer를 잡아먹고 잇습니다.
특정 코드를 지우면 뷰는 정상적으로 출력되지만 클릭이벤트에 반응하지 않고 잇습니다.
public class CustomDrawerLayout extends DrawerLayout {
public CustomDrawerLayout(@NonNull Context context) {
super(context);
init(context);
}
public CustomDrawerLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init(context);
}
public CustomDrawerLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
private void init(Context context) {
LayoutInflater.from(context).inflate(R.layout.home_drawer, this, true);
drawerLayout = findViewById(R.id.drawer_layout);
drawerSpaceUser = findViewById(R.id.drawer_space_user);
drawerSpaceChild = findViewById(R.id.drawer_space_child);
drawerSpaceGroup = findViewById(R.id.drawer_space_group);
drawerSpaceAnnoun = findViewById(R.id.drawer_space_announ);
drawerSpaceHelpdesk = findViewById(R.id.drawer_space_helpdesk);
drawerVersionBtn = findViewById(R.id.drawer_version_btn);
drawerSpaceUser.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_space_user);
}
});
drawerSpaceChild.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_space_child);
}
});
drawerSpaceGroup.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_space_group);
}
});
drawerSpaceAnnoun.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_space_announ);
}
});
drawerSpaceHelpdesk.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_space_helpdesk);
}
});
drawerVersionBtn.setOnClickListener(v -> {
if (clickListener != null) {
clickListener.onDrawerItemClick(R.id.drawer_version_btn);
}
});
}
public void setOnDrawerItemClickListener(OnDrawerItemClickListener listener) {
this.clickListener = listener;
}
}