2015-11-03 39 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()添加低版本支持