解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针)

解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针)_第1张图片
图片发自App

这样的log是没有错误的。

解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针)_第2张图片
图片发自App

主线程中的log会提示news为空指针

子线程无法更新UI众所周知,需要通过Handler 和Message之间的通信来更新UI。成员产量无法引用,估计也是这个原因(目前为止还没有找到最准确的原因)。

解决方法,还是用Handler和Message之间的通信。而我想传递的不止一个值,而是多张图片的url.可以借住Bundle对多数据打包,然后用Arraylist进行一个数组式储存

解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针)_第3张图片
图片发自App

如图所示,先对数据进行数组式储蓄,然后Bundle打包,通过Message传送给主线程中的Handler来接收。

解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针)_第4张图片
图片发自App

最后在主线程中接收调用,就可以使用了。

本人小白,有些地方说的可能不准确甚至错误,还希望有人指出

你可能感兴趣的:(解决子线程给成员变量赋值,主线程中无法引用成员变量的问题(log会显示主线程中的成员变量为空指针))