Android 带有navigationdrawer的actionbar中的imageview

Android 带有navigationdrawer的actionbar中的imageview,android,styles,Android,Styles,我正在使用一个导航抽屉,我定义了一个主题来更改actionbar的颜色。现在我想在actionbar中添加一个图像菜单(bell)来接收通知。 应用程序在imageviewimageview bell=(imageview)badgeLayout.findViewById(R.id.bell)处挤压我的日志点的问题 这是日志: 04-29 16:38:14.835 10481-10481/com.project E/AndroidRuntime﹕ FATAL EXCEPTION: main j

我正在使用一个导航抽屉,我定义了一个主题来更改actionbar的颜色。现在我想在actionbar中添加一个图像菜单(bell)来接收通知。 应用程序在imageview
imageview bell=(imageview)badgeLayout.findViewById(R.id.bell)处挤压我的日志点的问题

这是日志:

04-29 16:38:14.835  10481-10481/com.project E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
        at com.nearby.project.princ.Main.onCreateOptionsMenu(Main.java:520)
        at android.app.Activity.onCreatePanelMenu(Activity.java:2553)
        at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:275)
        at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:276)
        at android.support.v7.app.ActionBarActivityDelegate$1.onCreatePanelMenu(ActionBarActivityDelegate.java:79)
        at android.support.v7.app.ActionBarActivityDelegateBase.preparePanel(ActionBarActivityDelegateBase.java:979)
        at android.support.v7.app.ActionBarActivityDelegateBase.doInvalidatePanelMenu(ActionBarActivityDelegateBase.java:1182)
        at android.support.v7.app.ActionBarActivityDelegateBase.access$100(ActionBarActivityDelegateBase.java:79)
        at android.support.v7.app.ActionBarActivityDelegateBase$1.run(ActionBarActivityDelegateBase.java:118)
        at android.os.Handler.handleCallback(Handler.java:615)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4921)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
        at dalvik.system.NativeStart.main(Native Method)
这是我的主题:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
    parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/blue_pressed_want</item>

    <item name="android:windowNoTitle">false</item>
    <item name="android:windowActionBar">true</item>
    <item name="windowActionBar">true</item>
    <!-- Support library compatibility -->
    <item name="background">@color/blue_pressed_want</item>
</style>
这是我的菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/blue_pressed_want"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.nearby.pfe.MainActivity">

<item
    android:id="@+id/menu_notif"
    android:icon="@drawable/notification"
    android:actionLayout="@layout/view_feed_update_count"

    android:showAsAction="always"
    android:title="@string/notif"/>

此处布局视图\u提要\u更新\u计数:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="48dp"
android:layout_height="fill_parent"
android:layout_gravity="right">

<!-- Menu Item Image -->
<ImageView
    android:layout_width="36dp"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:layout_alignParentRight="true"
    android:id="@+id/bell"

    android:src="@drawable/notification" />

<!-- Badge Count -->
<TextView
    android:id="@+id/actionbar_notifcation_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/counter_bg"
    android:layout_alignParentRight="true"
    android:visibility="invisible"
    android:paddingRight="13px"
    android:paddingLeft="13px"
    android:textColor="#ffffff" />

<TextView
    android:id="@+id/actionbar_notifcation_textviewoff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:padding="13px"
    android:layout_alignLeft="@+id/actionbar_notifcation_textview"
    android:layout_alignStart="@+id/actionbar_notifcation_textview" />


您尚未将项目中的actionview属性定义为relativelayout。

如何使其工作??因为imageview是一个自定义图像。如果有通知,铃声可能会显示一个红色数字。您使用的是最小api 11还是更小?我使用的是最小api 9,但没有问题,如果有解决方案,我可以将其更改为11。您确定您的错误是在查找imageview…它似乎是getactionview的错误吗
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="48dp"
android:layout_height="fill_parent"
android:layout_gravity="right">

<!-- Menu Item Image -->
<ImageView
    android:layout_width="36dp"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:layout_alignParentRight="true"
    android:id="@+id/bell"

    android:src="@drawable/notification" />

<!-- Badge Count -->
<TextView
    android:id="@+id/actionbar_notifcation_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/counter_bg"
    android:layout_alignParentRight="true"
    android:visibility="invisible"
    android:paddingRight="13px"
    android:paddingLeft="13px"
    android:textColor="#ffffff" />

<TextView
    android:id="@+id/actionbar_notifcation_textviewoff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:padding="13px"
    android:layout_alignLeft="@+id/actionbar_notifcation_textview"
    android:layout_alignStart="@+id/actionbar_notifcation_textview" />