2016-02-06 20 views
0

我無法調試這problem.iewhen我試圖改變文本的名字,並把一個圖標的操作欄它不是supporting..i意味着它拋出一個錯誤,如如何解決操作欄不支持圖標和文本更改設置?

02-06 11:43:39.964 9510-9510/com.example.brahmaiah.app1_menu E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.brahmaiah.app1_menu, PID: 9510 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.brahmaiah.app1_menu/com.example.brahmaiah.app1_menu.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setIcon(int)' on a null object reference 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 
                        at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:135) 
                        at android.app.ActivityThread.main(ActivityThread.java:5257) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:372) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
                       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setIcon(int)' on a null object reference 
                        at com.example.brahmaiah.app1_menu.MainActivity.onCreate(MainActivity.java:20) 
                        at android.app.Activity.performCreate(Activity.java:5990) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)  
                        at android.app.ActivityThread.access$800(ActivityThread.java:151)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:135)  
                        at android.app.ActivityThread.main(ActivityThread.java:5257)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:372)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  

我MainActivity.java

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_main); 
    android.support.v7.app.ActionBar actionBar=getSupportActionBar(); 
    actionBar.setIcon(R.drawable.ic_image3); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    setSupportActionBar(toolbar); 

,我不得不支持v 7和v 4 libraries.i的我也試圖讓執行這樣在我activityi.e.actionBar.getSupportActionBar();. 好心幫助我擺脫它調試。 我認爲不需要manifest.xml ..因爲我有正確的標籤與minversion:7和maxVersion17 ..提前感謝! 和應用的主題也很喜歡... light.noActionBar

回答

1

您需要設置Toolbar爲動作條第一再使用getSupportActionBar()

您需要更改以下代碼

android.support.v7.app.ActionBar actionBar=getSupportActionBar(); 
actionBar.setIcon(R.drawable.ic_image3); 
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
setSupportActionBar(toolbar); 

Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
setSupportActionBar(toolbar); 
android.support.v7.app.ActionBar actionBar=getSupportActionBar(); 
actionBar.setIcon(R.drawable.ic_image3); 
+0

非常感謝你先生..它的工作通過代碼..但是當我試圖通過清單文件更改像其doest反映在我的佈局操作bar.but w母雞,我試圖通過代碼更改其應用..可能我知道你的原因先生嗎? –

+0

,因爲您的工具欄充當操作欄。所以你需要設置圖標 – Raghunandan

+0

謝謝你sir..again –

1

使用AppCompatActivity

import android.support.v7.app.ActionBar; 
import android.support.v7.app.AppCompatActivity; 

試試這個代碼:

final ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setHomeAsUpIndicator(R.drawable.back_dark); 
    actionBar.setTitle(getResources().getString(R.string.title)); 
+0

謝謝主席先生,但我延長AppCompatActivity類only..so我有那些的導入包already.anyway感謝您友好重播... –

+0

是的,它是byDefault當您使用AppCompatActivity,但我認爲你應該嘗試在你的java文件中的這個ActionBar會更容易@brahmyadigopula –

+0

好吧,先生...你是對的,也是一個簡單的方法..再次感謝您的先生.. –

相關問題