很多人想从一个Activity返回到上一级Activity时,考虑通过在点击事件里调用OnKeyDown事件来返回上一级,如下:

toolbarBack.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {OnKeyDown(KeyEvent.KEYCODE_BACK,null);}});


会发现报空指针错误,具体原因看下源码,你没传入的参数(即null)在OnKeyDown方法中使用到了,所以空指针。

其实返回上一级,不用考虑如此复杂,我们可以使用如下:直接结束当前Activity不就行了。

toolbarBack.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {ReaderActivity.this.finish();}});


注意:

要在第一个activity向第二个activity跳转的时候将第一个activity finish(),这样在第二个activity返回第一个activity时,就会执行第一个activity的onCreate()方法。
  
我尝试着在第一种方法中使用如下:
toolbarBack.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {OnKeyDown(KeyEvent.KEYCODE_BACK,new KeyEvent(KeyEvent.KEYCODE_BACK,KeyEvent.ACTION_DOWN));}});虽说无空指针错误,但是没任何效果。我也不解,望知情的兄弟告知一声哈!


更多相关文章

  1. Android编译报R.java报不到的错误解决办法
  2. android 打开Eclipse之后android项目都报错怎么解决
  3. xUtils3.3.x POST请求使用实例
  4. Android(安卓)Native Looper机制 - 监听文件描述符
  5. Android(安卓)Studio 提示错误 default activity not found
  6. android studio中的错误transformClassesWithDexForDebug
  7. android下面监测耳机事件
  8. android listview单击事件
  9. Error:Execution failed for task compileReleaseRenderscript l

随机推荐

  1. this version of ADT requires android S
  2. Android(安卓)library projects cannot b
  3. Android日常知识收集与总结之EditText篇
  4. 【单元测试】
  5. Android获取SD卡上的APK文件
  6. Android(安卓)Studio的使用和配置
  7. linux开机logo 和 android开机logo 的修
  8. Android(安卓)Studio加载第三方jar包,出现
  9. android 逆向工程-工具篇 jadx(九)
  10. Android获取桌面应用程序