关于页面跳转的问题

milo1224 2014-10-30 05:01:29
有三个页面A,B,C。打开软件先进入B,在B中进入C,然后在C中我进入A,并别关掉B和C,但为什么我在C中操作后没有到A,而是直接回到了桌面。

Intent intent = new Intent(C.this, A.class);
startActivity(intent);
C.this.finish();
B.instance.finish();
...全文
283 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2014-10-31
  • 打赏
  • 举报
回复
为什么不在B进C的时候finish B,因为B你后面也用不着啊. 再C进入A,C也finish掉,这样当前栈就只有A了,再back,不就到桌面了.
milo1224 2014-10-31
  • 打赏
  • 举报
回复
引用 6 楼 heaimnmn 的回复:
B.instance.finish();注释掉试试
嗯,我试过了,的确可以到A,但是现在的问题是在A中按返回键,会先退到B,然后再退到桌面。我想要的是能直接回到桌面,所以把B给finish掉了。怎么样做才能回到不返回到B直接到桌面?
哎,真难 2014-10-31
  • 打赏
  • 举报
回复
B.instance.finish();注释掉试试
milo1224 2014-10-31
  • 打赏
  • 举报
回复
有人知道吗????
ChrisArthas 2014-10-31
  • 打赏
  • 举报
回复
楼主的意思是 B进入C ,C有可能需要返回B,也有可能进入A,进入A之后返回的话就直接退出程序了是吧?如果是的话可以试试在创建A的时候把B,C都finish掉,跳转时候不finish
milo1224 2014-10-31
  • 打赏
  • 举报
回复
引用 8 楼 dalor 的回复:
为什么不在B进C的时候finish B,因为B你后面也用不着啊. 再C进入A,C也finish掉,这样当前栈就只有A了,再back,不就到桌面了.
B用的到,如果我到在C想返回B的话呢。所以没有在到C的时候finish掉B
  • 打赏
  • 举报
回复
另外把你的A,在manifest。xml里面注册成singleInstance试试
  • 打赏
  • 举报
回复
Intent intent = new Intent(C.this, A.class); intent.setFlag(intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
milo1224 2014-10-30
  • 打赏
  • 举报
回复
引用 3 楼 lr21shiji 的回复:
楼主用上面的就可以
还是不可以,怎么回事?这就话啥意思? 我在前面就没有打开过A界面
lr21shiji 2014-10-30
  • 打赏
  • 举报
回复
楼主用上面的就可以
lr21shiji 2014-10-30
  • 打赏
  • 举报
回复
Intent intent = new Intent(C.this, A.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);
  • 打赏
  • 举报
回复
说明你之前打开的activity已经不在任务栈了:调用finish后就会把activity从任务栈销毁

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧