[英]Send Data from an Activity to a class in Android
我有這個問題:我有一個Activity和兩個類MyGLSurfaceView,MyGLRenderer
在Activity中,有一個線程會生成不同的數字,我必須將此變量發送給MyGLRenderer。
我不能通過構造函數的參數傳遞此變量:/這是將變量從活動發送到類的另一種模式嗎? 我能怎么做 ?
您可以更改構造函數以匹配您發送的參數
例如:如果您想傳遞字符串
MyGLRenderer(String s)
{
// store it to local variable and use it
}
要么
您可以在MyGLRenderer
類中聲明一個公共變量,然后從您的Actvity
也許這不是一個很明確的解決方案,但是您可以考慮使用EventBus
https://github.com/greenrobot/EventBus來解決某些受Android限制的情況。
在您的類構造函數中注冊EventBus
EventBus.getDefault.register(this);
並在您的活動onCreate()
和onDestroy()
方法中register()
/ unRegister()
register()
。
當您只需要通過activity
發布價值時
EventBus.getDefault().post(new WhateverObject());
並獲得其他班級的價值
public void onEvent(WhateverObject object){
//doing stuff
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.