因为需求的需要,所以需要在点击导航栏之后切换Fragment,同时切换背景
核心的代码如下
switchFragment(INDEX.A);
NotMembershipFragment.getInstance().switchBackground(1);
switchFragment(INDEX.A)具体就是使用FragmentTransaction来进行Fragment的事务管理,具体是如果是第一次初始化Fragment的话就直接newFragment,然后commit,如果不是第一次初始化Fragment,先对Fragment隐藏,然后再commit。
但是遇到了一个问题就是在
frameLayout.setBackgroundResource(R.mipmap.bg_not_vip1);这行报错了空引用,但是frame Layout已经初始化了
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
frameLayout = getActivity().findViewById(R.id.fl_not_member);
}
public void switchBackground(int i) {
if (i == 1) {
frameLayout.setBackgroundResource(R.mipmap.bg_not_vip1);
} else {
frameLayout.setBackgroundResource(R.mipmap.bg_not_vip2);
}
}
具体原因还未知,特此记录