很多人想从一个Activity返回到上一级Activity时,考虑通过在点击事件里调用OnKeyDown事件来返回上一级,如下:
toolbarBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
OnKeyDown(KeyEvent.KEYCODE_BACK,null); }
});
会发现报空指针错误,具体原因看下源码,你没传入的参数(即null)在OnKeyDown方法中使用到了,所以空指针。
其实返回上一级,不用考虑如此复杂,我们可以使用如下:直接结束当前Activity不就行了。
toolbarBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ReaderActivity.this.finish();
}
});
注意:
要在第一个activity向第二个activity跳转的时候将第一个activity finish(),这样在第二个activity返回第一个activity时,就会执行第一个activity的onCreate()方法。
toolbarBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
OnKeyDown(KeyEvent.KEYCODE_BACK,new KeyEvent(KeyEvent.KEYCODE_BACK,KeyEvent.ACTION_DOWN)); }
});
虽说无空指针错误,但是没任何效果。我也不解,望知情的兄弟告知一声哈!
本文探讨了在Android应用中通过点击事件返回上一级Activity时遇到的问题及解决方案,详细介绍了避免空指针错误的方法,并提供了直接结束当前Activity的简单替代方案。同时,解释了如何在第一次跳转时正确地结束前一个Activity,确保返回流程顺畅。
9027

被折叠的 条评论
为什么被折叠?



