Java 无法在片段内绑定视图

Java 无法在片段内绑定视图,java,android,Java,Android,我创建了OnClickListener,并将其作为参数传递给我的setOnBackButtonClickListener方法。当我第一次启动应用程序时,它工作得非常好,但是当我第二次打开它时,我得到了一个例外。我认为这可能与片段生命周期有关,因为我正在调用onViewCreated中的方法 以下是例外情况: Process: com., PID: 12660 java.lang.RuntimeException: Unable to bind views for com.presenter.vi

我创建了
OnClickListener
,并将其作为参数传递给我的
setOnBackButtonClickListener
方法。当我第一次启动应用程序时,它工作得非常好,但是当我第二次打开它时,我得到了一个例外。我认为这可能与片段
生命周期
有关,因为我正在调用
onViewCreated
中的方法

以下是例外情况:

Process: com., PID: 12660
java.lang.RuntimeException: Unable to bind views for com.presenter.view.fragment.ForgotPasswordFragment
at butterknife.ButterKnife.bind(ButterKnife.java:322)
at butterknife.ButterKnife.bind(ButterKnife.java:279)
这是我的片段:

@Bind(R.id.action_bar) ActionBar actionBar;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);


        DaggerForgotPasswordComponent.builder()
                .applicationComponent(
                        ((AndroidApplication) getActivity().getApplication()).getApplicationComponent())
                .forgotPasswordModule(new ForgotPasswordModule())
                .build()
                .inject(this);

    }

    View.OnClickListener cl = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            navigateTo(LoginActivity.class);
        }
    };

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        this.actionBar.setOnBackButtonClickListener(cl);

    }

尝试覆盖onCreateView,并使用ButterKnife像那样绑定

@BindView(R.id.action_bar) ActionBar actionBar;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View fragmentView = inflater.inflate(R.layout.fragment_layout, container, false);
    ButterKnife.bind(this, fragmentView);

    return fragmentView;
}

尝试覆盖onCreateView,并使用ButterKnife像那样绑定

@BindView(R.id.action_bar) ActionBar actionBar;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View fragmentView = inflater.inflate(R.layout.fragment_layout, container, false);
    ButterKnife.bind(this, fragmentView);

    return fragmentView;
}

不应该是
@BindView
?不,语法在8.0版中更改了@Murat K.在8.4.0版(最新版本)中,它的BindView。。。飞离碎片的视图不是活动的内容。请阅读片段的基础知识。它应该是
@BindView
?不,语法在8.0版中更改了@Murat K.在8.4.0版(最新版本)中,它的BindView。。。飞离碎片的视图不是活动的内容。阅读关于碎片的基础知识,但对我没有帮助。当我第一次打开应用程序时,一切都很好。当我尝试第二次打开它时,我会遇到异常@wojdorThanks,但并没有帮助我。当我第一次打开应用程序时,一切都很好。当我尝试第二次打开它时,我得到了异常@沃伊多