在 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,它会节省相当多的内存。