2016-03-06 192 views
0

嗨即時練習使用android Studio爲應用程序添加徽標。我添加了簡單的代碼如下。java.lang.RuntimeException:無法啓動活動

package com.example.admin.actionbardemo; 

import android.app.ActionBar; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     ActionBar actionbar= getActionBar(); 
     actionbar.setIcon(R.mipmap.ic_launcher); 
     actionbar.setDisplayUseLogoEnabled(true); 
     actionbar.setDisplayShowHomeEnabled(true); 

    } 
} 

錯誤:

03-06 02:20:30.272 1381-1381/? E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.example.admin.actionbardemo, PID: 1381 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.admin.actionbardemo/com.example.admin.actionbardemo.MainActivity}: java.lang.NullPointerException 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
     at android.app.ActivityThread.access$800(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5001) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
     at dalvik.system.NativeStart.main(Native Method) 
     Caused by: java.lang.NullPointerException 
     at com.example.admin.actionbardemo.MainActivity.onCreate(MainActivity.java:21) 
     at android.app.Activity.performCreate(Activity.java:5231) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)  
     at android.app.ActivityThread.access$800(ActivityThread.java:135)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)  
     at android.os.Handler.dispatchMessage(Handler.java:102)  
     at android.os.Looper.loop(Looper.java:136)  
     at android.app.ActivityThread.main(ActivityThread.java:5001)  
     at java.lang.reflect.Method.invokeNative(Native Method)  
     at java.lang.reflect.Method.invoke(Method.java:515)  
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  
     at dalvik.system.NativeStart.main(Native Method)  
03-06 02:20:30.276 1381-1384/? D/dalvikvm: GC_CONCURRENT freed 205K, 10% free 3023K/3340K, paused 5ms+0ms, total 6ms 

回答

0

getActionBar()返回null。我想你沒有。

0

這是的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.admin.actionbardemo"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".AddingLogo" 
      android:label="@string/title_activity_adding_logo" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
    </application> 

我用android.support.v7.app.ActionBar動作條= getSupportActionBar();

insted
ActionBar actionbar = getActionBar();

多一個查詢-my logo位於Drawable文件夾中。哪些擴展需要徽標PNG或JPG?

0

您使用的主題沒有ActionBar。您必須在調用getSupportActionBar()

之前將styles.xml中的AppTheme的父級更改爲帶有ActionBar的主題或設置工具欄低谷 setSupportActionBar(...)
相關問題