在 ButterKnife 中取消绑定视图

片段具有与活动不同的视图生命周期。在 onCreateView 中绑定片段时,请在 onDestroyView 中将视图设置为 null。当你调用 bind 为你做这个时,Butter Knife 返回一个 Unbinder 实例。在适当的生命周期回调中调用其 unbind 方法。

一个例子:

public class MyFragment extends Fragment {
  @BindView(R.id.textView) TextView textView;
  @BindView(R.id.button) Button button;
  private Unbinder unbinder;

  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.my_fragment, container, false);
    unbinder = ButterKnife.bind(this, view);
    // TODO Use fields...
    return view;
  }

  @Override public void onDestroyView() {
    super.onDestroyView();
    unbinder.unbind();
  }
}

注意:不需要在 onDestroyView() 中调用 unbind(),但建议如果你的应用程序有一个大的 backstack,它会节省相当多的内存。