gpt4 book ai didi

android - Api 版本 22 中 actionBar.setDisplayShowTitleEnabled(boolean) 上的 NullPointerException

转载 作者:行者123 更新时间:2023-11-30 01:57:36 25 4
gpt4 key购买 nike

我在我的应用程序中使用 Actionbar,它在 api 22 以下运行良好。

使用 android.support.v4.app.FragmentActivity

使用下面的代码实现操作栏

public void initActionBar() {
actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setHomeButtonEnabled(true);
actionBar.setTitle("Rides");
actionBar.setIcon(R.drawable.menu);
actionBar.setBackgroundDrawable(newColorDrawable(getResources().getColor(R.color.orange)));
actionBar.setDisplayShowCustomEnabled(true);
}

style.xml 中的应用主题

<!-- Application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light">
<item name="android:activatedBackgroundIndicator">@drawable/list_activated_background</item>
<item name="android:typeface">serif</item>
<item name="android:actionBarSize">55dip</item>
</style>

在版本 22 中运行相同时出现以下错误

LogCat 错误

引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法“void android.app.ActionBar.setDisplayShowTitleEnabled(boolean)” 在 com.holachef.android.chef_android.activity.HomeActivity.initActionBar(HomeActivity.java:160) 在 com.holachef.android.chef_android.activity.HomeActivity.onCreate(HomeActivity.java:62) 在 android.app.Activity.performCreate(Activity.java:5953) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388) 在 android.app.ActivityThread.access$800(ActivityThread.java:148) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135)

为此使用 android studio,eclips 中的相同代码在版本 22 上成功运行,与 android studio 相关的问题。

任何帮助将不胜感激。谢谢。

最佳答案

您必须扩展 AppCompatActivity 而不是 FragmentActivity 才能拥有带 fragment 的 Actionbar。

如果您使用的是 v7 appcompat 库,您的 Activity 应该扩展 AppCompatActivity,它是 FragmentActivity 的子类(有关详细信息,请阅读添加操作栏)。

你还是可以试试这个,

ActionBar actionBar = getSupportActionBar();

您可以在此处找到更多详细信息。 http://developer.android.com/training/basics/fragments/creating.html

请切换到 Material Theme 而不是使用旧的 Holo Theme。

关于android - Api 版本 22 中 actionBar.setDisplayShowTitleEnabled(boolean) 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com