getActionBar()返回为空 空指针错误 Caused by: java.lang.NullPointerException
2017-01-03 14:26
681 查看
getActionBar()返回为空 空指针错误 Caused by: java.lang.NullPointerException
添加返回按钮时候,报错,如图:Avtivity中代码:
应用停止:
报错提示:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
原因
如果没有使用NoActionBar的样式(theme),则可能是由于当前Activity继承自AppCompatActivity。
getActionBar是Activity中的方法。
getActionBar Added in API level 11 ActionBar getActionBar () Retrieve a reference to this activity's ActionBar. Returns ActionBar The Activity's ActionBar, or null if it does not have one.
重构AppCompat,在新的AppCompat中,加入主题色,Toolbar等功能。
在新版本中推荐使用AppCompatActivity代替ActionBarActivity。在14年的Android5.0的时候就用Toolbar替代了ActionBar,而ActionBarActivity又被AppCompatActivity替代,所以目前最新的方式是让Activity继承自AppCompatActivity,并使用ToolBar,虽然它的用法更复杂
而AppCompatActivity来自于android.support.v7支持库.android.support.v7.AppCompatActivity
google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等
v7 支持库:一些库旨在与 Android 2.3(API 级别 9)及更高版本搭配使用。这些库提供了特定的功能集,并且可以单独添加到应用中,与其他库互不影响。
注:此库依赖于 v4 支持库。
其中:
getSupportActionBar()
Support library ve
9fce
rsion of getActionBar().
getSupportActionBar()提供原有 getActionBar()的功能
解决方法:
首先查看你的AndroidMainiFest中theme正常,不是诸如NoActionBar的样式
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">
其次
查看你的Activity的类型,如果继承自AppCompatActivity,则需要使用getSupportActionBar()
public class NumbersActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.word_list); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } }
相关文章推荐
- 隐藏actionBar, 报错 getActionBar.hide() 运行时java.lang.NullPointerException
- Caused by: java.lang.NullPointerException
- 在action中调用去出现java.lang.NullPointerException错误
- 空指针错误 Java.lang.NullPointerException
- 空指针错误 java.lang.NullPointerException
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- 解决Context.getExternalFilesDir(null)返回null造成java.lang.NullPointerException的问题
- Android 发送短信 抛出Caused by: java.lang.NullPointerException 09-18 15:11:00.905: E/AndroidRuntime(10159)
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- java.lang.NullPointerException空指针错误调试
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- Caused by: java.lang.NullPointerException大家帮我看下,这是怎么回事?
- "空指针错误 java.lang.NullPointerException "
- 框架整合 在action中调用去出现java.lang.NullPointerException错误
- JavaWeb学习(5.5)---在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
- Android 解决方案:Caused by: java.lang.NullPointerException
- 解决Context.getExternalFilesDir(null)返回null造成java.lang.NullPointerException的问题
- Caused by: java.lang.NullPointerException: Attempt to write to field 'int android.app.Fragment.mNextAnim' on a null object reference