OnClickListener
を作成し、それをパラメータとしてsetOnBackButtonClickListener
メソッドに渡しました。私は初めてアプリケーションを起動するときに完全に正常に動作していますが、2回目に開くと例外が発生します。メソッドonViewCreated
を呼び出しているので、フラグメントLifeCycle
に関連している可能性があります。ここでフラグメント内のビューをバインドできません
は例外である:ここでは
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);
}
でそのようにバインドするようにしてください、それは 'すべきではありません@ BindView'? –
いいえ、構文はバージョン8.0で変更されました。 @ Murat K. – Adnan
バージョン8.4.0(最新)ではBindView ... *が離れています* – Jaythaking