我有这个代码:
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 包含的 ID 不会导致 XML 中具有该 ID 的视图?
我试图清理我的项目,但它仍然保持不变。
编辑:发布请求的文件。
边菜单.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:清理项目。如果它不起作用,请再次清理项目。如果它不起作用,请清理所有项目。直到它起作用。如果它不起作用,请询问。