1

我有下一个片段:

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 方法第一次像魅力一样工作,在我旋转设备之前它工作正常。当我旋转设备时,方法不起作用。

日志没有错误。

你知道是什么问题吗?

谢谢。

4

2 回答 2

0

尽量保留片段以避免被破坏和再次创建。它可能会解决你的问题

于 2015-09-30T08:02:32.157 回答
0

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

@Override 
public void onDestroyView(){
    super.onDestroyView();
    ButterKnife.unbind(this);
}
于 2015-09-30T14:53:34.290 回答