android Handler取值问题?onCreate 里data集合为空值?Handler里集合是有数据
public List<Object> data; //定义一个集合数据变量data
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 10) {// 获取美食列表数据
data= (Object) msg.obj;
Log.i("data长度", "接收到的数据长度" + data.size());
//这里能有数据显示,可以输出数据,但是在onCreate方法里 就为空了?
}
}
};
//类ProductListThread的方法 这里,我们接收 URL Handler对象 what数值
@Override
public void run() {
message.what = what;
message.obj = data;//(这是获取到的集合数据)
mmyHandler.sendMessage(message);
}
//在activity里的方法
public void getObjectList() {
try {
// 调用产品列表处理线程 转递URL地址进去 URL地址从productCategoreUrl.xml 里来
// 在线程里 已经把需要的数据发送给handler了 ,在handler出接收数据就可以了
Thread tt = new Thread(new ProductListThread(
url, myHandler, 10)); //转参数url 和Handler对象 家what数值
tt.start();
} catch (Exception e) {
e.printStackTrace();
}
}
//然后在:在启动activity时
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
data = new ArrayList<Object>();
getObjectList();
Log.i("food_list", "列表显示的时候:" + food_list.size());
//这里的长度为0,怎么为没有数据呢?
}