android - 怎么启动一个带参数的activity?
伊谢尔伦
伊谢尔伦 2017-04-17 16:21:46
[Android讨论组]

不是在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:

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(6)
伊谢尔伦

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

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

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

阿神

intent 可以传递参数的

大家讲道理

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

伊谢尔伦

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

阿神

最好用Intent

ringa_lee

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号