find32ById在android 3.2上的操作栏中搜索元素时返回null

前端之家收集整理的这篇文章主要介绍了find32ById在android 3.2上的操作栏中搜索元素时返回null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个使用自定义操作栏布局的应用程序,该布局通过theme.xml中的 android:actionBarStyle和android:customNavigationLayout引用.
栏中有一些元素,如重载和一些信息按钮.
在android 4设备上,这些按钮可以通过findViewById(在活动内)找到,但在android 3.2上,findViewById返回null.这会抛出NullPointerException.

该应用程序正在使用ActionbarSherlock 4.2.0

这是themes.xml:

<style name="Theme.SRF.Tablet" parent="style/Theme.Sherlock">
     <item name="android:windowContentOverlay">@drawable/header_shadow</item>
     <item name="android:actionBarStyle">@style/TTTActionBar</item> </style>

 <style name="TTTActionBar" parent="style/Widget.Sherlock.ActionBar">
     <item name="android:background">@drawable/bg_header</item>
     <item name="android:customNavigationLayout">@layout/actionbar_custom</item>
 </style>

活动:

@Override
    protected void onCreate(Bundle _savedInstanceState) {
        setContentView(...);
        // next line throws NullPointerException on android 3.2
        findViewById(R.id.actionbar_custom_bt_refresh).setOnClickListener(mClickListener);
        ....
    }

解决方法

我不知道这对你有帮助,但是从 here开始:

尝试添加

<item name="customNavigationLayout">@layout/custom_action</item>

同意:

<item name="android:customNavigationLayout">@layout/custom_action</item>

猜你在找的Android相关文章