Я хочу включить Android ActionBar, но это не работает для меня.
Вот моя MainActivity :
public void onCreate(Bundle savedInstanceState) { this.requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.login); ActionBar actionBar = getActionBar(); actionBar.show(); //more code............
И вот логарифм:
03-04 16:31:09.423: E/AndroidRuntime(1441): FATAL EXCEPTION: main 03-04 16:31:09.423: E/AndroidRuntime(1441): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.salebook/com.example.salebook.MainActivity}: java.lang.NullPointerException 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread.access$600(ActivityThread.java:141) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.os.Handler.dispatchMessage(Handler.java:99) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.os.Looper.loop(Looper.java:137) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread.main(ActivityThread.java:5041) 03-04 16:31:09.423: E/AndroidRuntime(1441): at java.lang.reflect.Method.invokeNative(Native Method) 03-04 16:31:09.423: E/AndroidRuntime(1441): at java.lang.reflect.Method.invoke(Method.java:511) 03-04 16:31:09.423: E/AndroidRuntime(1441): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 03-04 16:31:09.423: E/AndroidRuntime(1441): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 03-04 16:31:09.423: E/AndroidRuntime(1441): at dalvik.system.NativeStart.main(Native Method) 03-04 16:31:09.423: E/AndroidRuntime(1441): Caused by: java.lang.NullPointerException 03-04 16:31:09.423: E/AndroidRuntime(1441): at com.example.salebook.MainActivity.onCreate(MainActivity.java:130) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.Activity.performCreate(Activity.java:5104) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 03-04 16:31:09.423: E/AndroidRuntime(1441): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 03-04 16:31:09.423: E/AndroidRuntime(1441): ... 11 more
Там, где строка 130 является anctionBar.show()
и у меня есть res / menu / menu.xml :
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/itemid_0" android:title="Action Item 0" android:icon="@drawable/ic_launcher" android:orderInCategory="0" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/itemid_1" android:title="Action Item 1" android:orderInCategory="0" /> <item android:id="@+id/itemid_2" android:title="Action Item 2" android:orderInCategory="0" /> <item android:id="@+id/itemid_3" android:title="Action Item 3" android:orderInCategory="0" /> </menu>
Я не нашел проблему. Надеюсь, кто-то мне поможет.
Благодарю.
Кроме того, в стиле appThem:
<style name="AppTheme" parent="AppBaseTheme"> <item name="android:windowActionBar">true</item> <!-- All customizations that are NOT specific to a particular API-level can go here. --> </style>
You Actionbar возвращает null, потому что у вас нет панели действий, но вы запрашиваете использование getActionbar ()
Убедитесь, что у вас есть функция окна, чтобы показать вашу панель действий. Это необходимо для отображения панели действий. Проверьте приведенные ниже ссылки для получения более подробной информации. … проверить этот вопрос getActionBar возвращает null. Также проверьте эту ссылку, чтобы узнать больше о вашей проблеме. http://blog.perpetumdesign.com/2011/08/strange-case-of-dr-action-and-mr-bar .html
Вы удаляете
android:theme="@style/AppTheme"
В "приложении" из AndroidManifest.xml
Вы действительно видите панель действий, если вы удалите строку actionBar.show()
? Если нет, это может быть связано с вашей темой, например Theme.Light.NoActionBar
.
Перейдите в AndroidManifest.xml и замените
android:theme="@style/AppTheme"
от
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"