首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

方法调用线程,怎样返回线程的值,该怎么解决

2012-03-17 
方法调用线程,怎样返回线程的值我有一个方法如下:public String getRequest(String url, String string) {

方法调用线程,怎样返回线程的值
我有一个方法如下:
public String getRequest(String url, String string) {

  new Thread() {

  public void run() {

  ..........

  }.start();

  String result = ;

  return result;

}
怎样等待这个线程执行完毕然后返回一个值给result呢?最好使用handler!谢谢

[解决办法]
final String result = null;

Thread t = new Thread() { public void run() {... result = "???";} };
t.start();
try { t.join(); } catch (Exception e) {}

if (result != null) {...}
[解决办法]
override main thread handler
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case ABC:
//get return value
break;
}
}
};


private class MyThread extends Thread {
@Override
public void run() {
loop....
//before thread finish,
Message m = mHandler.obtainMessage(ABC, 0, 0, null);
mHandler.sendMessage(m);
}
}

这是你要求的handler一种方法吧,不过这样太费劲了吧。。。。

热点排行