@OnClick在ButterKnife中旋转后不起作用

时间:2015-09-30 06:58:05

标签: android butterknife

我有下一个片段:

public class MyFragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.my_fragment, container, false);

        return view;
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        ButterKnife.setDebug(true);
        ButterKnife.bind(this, view);
    }

    @OnClick(R.id.button)
    public void onButtonClicked () {
        //Do some stuff
    }
}

OnClick方法第一次像魅力一样工作,它可以正常工作,直到我旋转设备。当我旋转设备时,方法不再有效。

日志没有错误。

你知道这是什么问题吗?

谢谢你。

2 个答案:

答案 0 :(得分:0)

尝试保留片段以避免被破坏并再次创建。它可以解决您的问题

答案 1 :(得分:0)

在片段被销毁时尝试解除绑定(这应该在旋转时发生)。然后它应该再次正确绑定:

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