需要帮助弄清楚为什么当我单击 "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
我在 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