在 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,它會節省相當多的記憶體。