需要帮助弄清楚为什么当我单击 "Settings" 按钮时 App 一直停止

Need help figuring out why App keeps stopping when I click "Settings" Button

我在 Android Studio "Android Monitor"

中收到以下错误

有很多胡言乱语,但基本上是说错误的原因如下:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual  method 'void android.support.v7.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a  null object reference
                                                                                 at com.example.robthoms.photopop.SettingsActivity.onCreate(SettingsActivity.java:28)

我正在尝试使“设置”在工具栏上起作用,我从以下位置获得了代码:

https://www.androidhive.info/2017/07/android-implementing-preferences-settings-screen/

如果您单击此 link,您将看到我尝试使用的 SettingsActivity.java 的完整代码,但是当我单击工具栏中的 "settings" 时,应用程序关闭.

应用关闭的SettingsActivity有什么问题?

我的AndroidManifest.xml:

我的styles.xml

在 类 中隐藏 ActionBar,而 styles.xml 具有 Light.DarkActionBar

    ActionBar bar  = getSupportActionBar () ;
    if       (bar != null) bar.hide () ;

问题是因为您的activity没有任何ActionBar。在 android 清单中,确保您的 activity 正在使用具有 ActionBar 的主题。确保它没有类似 NoActionBar 的内容。如果您的 activity 没有使用任何主题,请检查 styles.xml 中的 AppTheme

一个可能的解决方案是在清单中使用它:

<activity
    android:name=".SettingsActivity"
    android:theme="@style/Theme.AppCompat.Light" />

另一种方式:

在styles.xml中添加新样式:

<style name="AppTheme.ActionBar" parent="AppTheme">
    <item name="windowActionBar">true</item>
    <item name="windowNoTitle">false</item>
</style>

并在清单中使用新样式:

<activity
    android:name=".SettingsActivity"
    android:theme="@style/AppTheme.ActionBar" />

你的风格主题是noactionbar 1.如果你想要一个动作条使用包含主题的动作条 要么 2. 也可以做类似actionbar

的自定义view