我有这个问题: 我有一个Activity和两个类MyGLSurfaceView,MyGLRenderer
在Activity中有一个生成不同数字的线程,我必须将此变量发送给MyGLRenderer。
我无法通过构造函数的参数传递此变量:/ 这是将变量从活动发送到类的不同模式吗?我该怎么办?
答案 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
}