Android 工具栏菜单项错误
我正在尝试为添加到购物车功能设置购物车篮图标。当我运行应用程序时,出现了此错误 尝试调用虚拟方法“android.view.view” 空对象上的android.widget.RelativeLayout.findViewById(int)“” 参考文献 这里我使用AppCompative活动 我的代码在这里: MainActivity.javaAndroid 工具栏菜单项错误,android,toolbar,menuitem,Android,Toolbar,Menuitem,我正在尝试为添加到购物车功能设置购物车篮图标。当我运行应用程序时,出现了此错误 尝试调用虚拟方法“android.view.view” 空对象上的android.widget.RelativeLayout.findViewById(int)“” 参考文献 这里我使用AppCompative活动 我的代码在这里: MainActivity.java @Override public boolean onCreateOptionsMenu(Menu menu) { getM
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
RelativeLayout badgeLayout = (RelativeLayout) menu.findItem(R.id.badge).getActionView();
mCounter = (TextView) badgeLayout.findViewById(R.id.counter);
return true;
}
menu.xml:
<item
android:id="@+id/badge"
android:actionLayout="@layout/badge_layout"
android:title="Badges"
app:showAsAction="always">
</item>
badge_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="48dp"
android:layout_height="fill_parent"
android:layout_gravity="right" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:clickable="true"
android:src="@drawable/ic_shopping_cart"/>
<TextView
android:id="@+id/counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:padding="8dp"
android:text="12"
android:textSize="10sp"
android:textColor="@color/colorPrimary" />
</RelativeLayout>
终于得到了购物车图标。
替换这个
<item
android:id="@+id/badge"
android:actionLayout="@layout/badge_layout" //Check this LINE
android:title="Badges"
android:actionViewClass="android.widget.RelativeLayout"
app:showAsAction="always">
</item>
到
这里的问题RelativeLayout徽章布局=(RelativeLayout)菜单.findItem(R.id.badge).getActionView()代码>什么问题?请改正它。
<item
android:id="@+id/badge"
app:actionLayout="@layout/badge_layout" //Check this LINE(Changes made here)
android:title="Badges"
android:actionViewClass="android.widget.RelativeLayout"
app:showAsAction="always">
</item>