将数据从活动发送到Android中的类

时间:2014-09-19 20:12:03

标签: android class variables android-activity

我有这个问题: 我有一个Activity和两个类MyGLSurfaceView,MyGLRenderer

在Activity中有一个生成不同数字的线程,我必须将此变量发送给MyGLRenderer。

我无法通过构造函数的参数传递此变量:/ 这是将变量从活动发送到类的不同模式吗?我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以更改构造函数以匹配您发送的参数

例如:如果你想传递字符串

MyGLRenderer(String s)
{
// store it to local variable and use it
}

您可以在MyGLRenderer课程中声明一个公共变量,并从Actvity

中设置它

答案 1 :(得分:0)

也许这不是一个非常清晰的解决方案,但你可以考虑使用EventBus https://github.com/greenrobot/EventBus来限制某些特定于Android的情况。

在类构造函数中注册EventBus,如

EventBus.getDefault.register(this);
您的活动register()unRegister()方法中的

onCreate() / onDestroy()

当你需要发布activity的价值时

EventBus.getDefault().post(new WhateverObject());

并在其他课程中获得价值

public void onEvent(WhateverObject object){
//doing stuff
}