私はこのコードを持っています:
private void inflateMenu() {
if (menu == null) {
mFanView = (LinearLayout) findViewById(R.id.fanView);
final View v = LayoutInflater.from(getContext()).inflate(
R.layout.sidemenu, mFanView);
menu = (MenuView) v.findViewById(R.id.listViewMenu);
}
menu.setColors(backgroundColor, selectedColor, unselectedColor);
}
デバッグ時、v には ID が と等しい MenuView が含まれますR.id.listViewMenu + 1
。もちろん、これは menu.setColors で NPE をスローします。
R.id.listViewMenu に、XML でその ID を持つビューにつながらない ID が含まれているのはなぜですか?
プロジェクトをクリーンアップしようとしましたが、それでも同じままです。
編集: 要求されたファイルを投稿しています。
sidemenu.xml
<com.ui.library.slidingmenu.MenuView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listViewMenu"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
編集:問題は解決しました。
findViewById が null を返すためにここに来る人へ: プロジェクトをクリーンアップします。うまくいかない場合は、プロジェクトをもう一度クリーンアップします。うまくいかない場合は、すべてのプロジェクトをクリーンアップしてください。それが機能するまで。うまくいかない場合は、質問してください。