怎么启动一个带参数的activity?

发布于 2022-09-02 11:32:59 字数 410 浏览 13 评论 0

不是在activity里传递参数,这个用Intent我会

public NewActivity(MyCallback myCallback) {
}

比如我这么一个 NewActivity

Intent intent = new Intent(Activity.this, NewActivity.class);

我的Intent都是这么写的,默认是启动不带参数的,怎么启动带参数的?
求指点





ADD:我想传递的是接口,我尝试用避开上面的传递方法,用Intent来传,
但是Intent没有直接传接口的API,我就试着把接口序列化,但是也报错了

Caused by: java.io.NotSerializableException:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

御守 2022-09-09 11:32:59

请不要把参数写在构造方法里,Android系统是IOC的,Activity的实例化是有系统来完成,系统不会实例化带有参数的构造方法。你这样传递是无效的。

如果你需要传递任意对象作为参数又不希望改变其性质适配Intent,你可以考虑采用广播或者EventBus中的Sticky消息来传递。

不过非常不认同你的做法,在Activity间传递负责对象需要编程者需要较高水平,稍有不慎就会造成内存泄露,引起程序不稳定,希望你谨慎考虑,寻找其他替代方法。

幽梦紫曦~ 2022-09-09 11:32:59

intent 可以传递参数的

三生殊途 2022-09-09 11:32:59

intent 可以传递参数,如果传递的是对象请序列化,序列化使用android自己序列化接口Parcelable。另外何谓API传递,这种说法很不解?也可以尝试传递一些String数据来判断你MyCallback该怎么创建。

何以笙箫默 2022-09-09 11:32:59

我感觉没有什么理由不用系统提供好的Intent而去自己搞一套

腹黑女流氓 2022-09-09 11:32:59

最好用Intent

我乃一代侩神 2022-09-09 11:32:59

用map构建一个cache,用完就clear值

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文