Android(安卓)代码用来返回上一个activity 调用onKeyDown()时发生java.lang.NullPointerException.
16lz
2021-01-25
很多人想从一个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));}});虽说无空指针错误,但是没任何效果。我也不解,望知情的兄弟告知一声哈!
更多相关文章
- Android编译报R.java报不到的错误解决办法
- android 打开Eclipse之后android项目都报错怎么解决
- xUtils3.3.x POST请求使用实例
- Android(安卓)Native Looper机制 - 监听文件描述符
- Android(安卓)Studio 提示错误 default activity not found
- android studio中的错误transformClassesWithDexForDebug
- android下面监测耳机事件
- android listview单击事件
- Error:Execution failed for task compileReleaseRenderscript l