2015-11-03 38 views
0

我在調用setTitle函數時得到操作欄的空對象引用。這是我的代碼操作欄中的空指針異常

import android.app.ActionBar; 
import android.app.Activity; 
import android.os.Bundle; 

import com.example.transport.transport.R; 

public class registration extends Activity { 
    ActionBar actionbar=getActionBar(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.registrationpage); 
      actionbar.setTitle("ramkumar"); 
    } 
} 
+0

參見:http://stackoverflow.com/questions/14297178/setting-action-bar-title-and-subtitle –

+1

不要調用getActionBar();在onCreate方法之前。在onCreate方法中初始化actionbar變量。 –

+0

ActionBar actionbar = getActionBar();應在onCreate中提及。你爲什麼要這樣做呢?把它放在onCreate,它會工作:) – Sri

回答

1
Change code like this: 

import android.app.ActionBar; 
     import android.app.Activity; 
     import android.os.Bundle; 

     import com.example.transport.transport.R; 


     public class registration extends Activity { 
     ActionBar actionbar; 
     @Override 
      protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.registrationpage); 
    actionbar=getActionBar(); 
    actionbar.setTitle("ramkumar"); 
} 
    } 
+0

很好的答案...謝謝你的幫助 –

0

你是不是正確初始化操作欄。執行以下更改代碼

import android.app.ActionBar; 
import android.app.Activity; 
import android.os.Bundle; 
import com.example.transport.transport.R; 

public class registration extends Activity { 
    ActionBar mActionbar; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.registrationpage); 
      //Initializing Action bar 
      mActionbar=getActionBar(); 
      mActionbar.setTitle("Your Title"); 
    } 
} 

如果您使用的是支持的操作欄庫,然後你可以改變getActionBar()getSupportActionBar()添加低版本支持