问题是:想通过子线程获得网络下载数据,然后传给主线程,通过intent发给第二个activity。
但是实现不了,尤其是子线程的返回数据,给不了主线程。
请问如何解决,本人刚接触Android。
谢谢了。
------解决思路----------------------
我是看你这句话理解的:
页面上有一个按钮,点一下,子线程从网络下数据,然后传给intent,然后启动第二个activity。
这里是下载数据完成后再点击按钮……
onClick(View v){
if(mIntentData!=null){
Intent intent=new Intent(MainActivity.this,XXXX.class);
intent.putExtar("data",mIntentData);//数据?如果要传对象,需要对象实现序列化
startActivity(intent);
}
}
Handler handler=new Handler(){
@Override
public boolean handleMessage(Message msg){
switch (msg.what){
case 1:
//把数据存给mIntentData,类型自己定,对象要序列化
break;
}
}
------解决思路----------------------
现在能取到值,但是需要点击按钮两次,不知道为什么?难道是主线程等待子线程返回数据?
代码貌似没发全,没看到线程在哪start的
你可以在收到消息后Toast.make一下,看是不是执行次数和点击次数是否一样。
handleMessage的确是等待子线程发消息