[英]ToolBar MenuItem error
我试图将“购物篮”图标设置为“添加到购物车”功能。 当我运行应用程序时,出现此错误
尝试在空对象引用上调用虚拟方法'android.view.View android.widget.RelativeLayout.findViewById(int)'
在这里,我正在使用AppCompatActivity。
我的代码在这里:MainActivity.java
@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>
至
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.