怎么启动一个带参数的activity?
不是在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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
请不要把参数写在构造方法里,Android系统是IOC的,Activity的实例化是有系统来完成,系统不会实例化带有参数的构造方法。你这样传递是无效的。
如果你需要传递任意对象作为参数又不希望改变其性质适配Intent,你可以考虑采用广播或者EventBus中的Sticky消息来传递。
不过非常不认同你的做法,在Activity间传递负责对象需要编程者需要较高水平,稍有不慎就会造成内存泄露,引起程序不稳定,希望你谨慎考虑,寻找其他替代方法。
intent 可以传递参数的
intent 可以传递参数,如果传递的是对象请序列化,序列化使用android自己序列化接口Parcelable。另外何谓API传递,这种说法很不解?也可以尝试传递一些String数据来判断你MyCallback该怎么创建。
我感觉没有什么理由不用系统提供好的Intent而去自己搞一套
最好用Intent
用map构建一个cache,用完就clear值