Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 调用startActivity时在onStop()中查找下一个Activity大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
通过使用startActivity()启动一个新的Activity来@L_616_1@onStop()之后,我怎样才能知道当前Activity的onStop()方法中的哪个Activity?

我目前唯一的想法:
声明我用作全局变量的intent,并使用intent.getClass()或类似的东西在onStop()方法检查它.这样可以吗?不知何故感觉就像快速而肮脏的方法.

谢谢你的帮助!

编辑:
所以这是场景:

Activity1是一个表视图,用户选择一行或多行,然后单击“提交”,所有选定的行现在都提交给后台任务中的服务器.

我在我的服务中使用一个数组来存储所选id之前的submissin,所以如果用户离开listview而没有点击提交,那么这个数组仍然会被过时的选择所填充.

因此,如果用户选择一行或多行,然后在没有“提交”的情况下退出Activity1,我希望丢弃选择,所以我@L_616_1@方法在Activity1的onStop()方法中清除该数组.这很好用,但当然有不同的方法可以离开Activity1.例如,@L_772_18@一个包含3个条目的上下文菜单,每个条目都会启动另一个活动.

现在我需要保留我的数组值,以防止从上下文菜单中选择一个特殊的单个活动(比如说Activity2).

很抱歉,如果不清楚,但我不是在谈论活动实例,而是关于一般的活动类型.

所以我在onStop()方法中需要知道的是,如果我们从Activity1切换到Activity2.java或Activity3.java.

也许Activity1的onStop()甚至不适合我明确或不明确的决定?

再次感谢

解决方法

你可能想在这里@L_674_29@一些关于你的意图的澄清,因为这个问题有点模糊.

认情况下,启动Acitvity时,它将被放置在称为后端堆栈的队列中.当活动结束时,它会出列,前一个活动被带到前台.

在开始新活动时很不舒服,如果你没有正确设置它,你将创建该活动的一个新实例,即使后一个堆栈中已存在一个.如果我理解你的问题,你会寻找:

Intent intent = new Intent(getContext(),NewClass.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOp);
startActivity(intent);

除了提到的活动之外,这将清除堆栈,如果它存在于后台堆栈中,则将其置于前台.

@L_301_2@显示了如何清除堆栈(Android guide).

看看@L_675_41@,它描述了如何管理任务和活动,但谷歌警告不要操纵认的beahvIoUr.

大佬总结

以上是大佬教程为你收集整理的android – 调用startActivity时在onStop()中查找下一个Activity全部内容,希望文章能够帮你解决android – 调用startActivity时在onStop()中查找下一个Activity所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。