Butterknife Unbinder 在fragment和viewPager使用闪退问题


public class ButterKnifeFragment extends Fragment {

private Unbinder unbinder;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_butter_knife, container, false);
    //返回一个Unbinder值(进行解绑),注意这里的this不能使用getActivity()  
    unbinder = ButterKnife.bind(this, view);
    return view;
}

/*这解绑的话,切换多几次后会闪退,
原因是 。当Fragment超过3个时,包括3个,这种情况下使用Butterknife注解有时候会出现空指针。原因如下:在onCreateView里面进行绑定后,如果连续滑动,ViewPager会移除Fragment,然后Fragment会执行下面的方法:
/
@Override
public void onDestroyView() {
super.onDestroyView();
//进行解绑操作
unbinder.unbind();
}
/

解决方法。在这里进行解绑操作,或者去掉解绑,把开头的 unbinder = ButterKnife.bind(this, view);修改成 ButterKnife.bind(this, view);,去掉 private Unbinder unbinder;
*/
@Override
public void onDetach() {
super.onDetach();
unbinder.unbind();
}

}

你可能感兴趣的:(android)