私のView要素(ListView)がnull
である理由を、次のコードで誰かが説明できますか?
public class NewsFragment extends Fragment {
@InjectView(R.id.news_listView) ListView lv;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.news_layout, container, false);
ButterKnife.inject(this, view);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (lv == null) {
UIHelper.showAlert("null?");
}
}
}
サンプルコードをアプリに貼り付けて機能させたので、ライブラリに何か問題がありますか、それとも問題がありますが、ここでは機能しません...助けていただければ幸いです。
IDEをセットアップしましたか?
IDE構成
一部のIDEでは、注釈処理を有効にするために追加の構成が必要です。
IntelliJ IDEA —プロジェクトで外部構成(Maven pom.xmlなど)を使用している場合は、注釈処理が正常に機能するはずです。そうでない場合は、 手動構成を試してください 。
通常、これは注釈プロセッサがその作業を行わなかったことを意味します。これは、IDEの設定ミスまたはランダムな問題が原因である可能性があります。私の経験では、時々、プロジェクトをクリーンアップして、すべてを再構築する必要がありました。
私のためのこの仕事:
...
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
ButterKnife.bind(this, view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
...