安卓中,能否通过Handler更新全局变量?
如:
private String STR ; //定义一个全局变量
Handler mHandler = new Handler(Looper.myLooper()) {
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
if (msg.what == 0) {
STR = (String) msg.obj; //更新全局变量
}
}
};
//假定这是onCreate
public void onCreate(Bundle savedInstanceState) {
*****
****
if(STR ! = null){
Log.d("q",STR);
}
new Thread(() -> {
//模拟耗时操作
String str = “CSDN,YYDS";
Message message = new Message();
message.obj = str;
message.what = 0;
mHandler.sendMessage(message);
}).start();
}
此时打印的是CDSN,YYD,还是什么都没打印?
如果这种方法无法更新全局变量,那应该用什么方法?