注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

姑射道人的博客

博客新地址:nixuchen.com

 
 
 

日志

 
 

在线程中更新UI  

2012-07-20 14:26:39|  分类: android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
package gushedaoren.shnu;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class AndroidInteractWithWebServiceActivity extends Activity {
private Handler messageHandler;

@Override
protected void onStart() {
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

new ThreadQuery().start();
// textView.setText(textViewStr);
//得到当前线程的Looper实例,由于当前线程是UI线程也可以通过Looper.getMainLooper()得到  
 
       Looper looper = Looper.myLooper();  
 
       //此处甚至可以不需要设置Looper,因为 Handler默认就使用当前线程的Looper  
 
       messageHandler = new MessageHandler(looper);  

}
});
super.onStart();
}

/** Called when the activity is first created. */
private EditText moblileText;
private TextView textView;
private Button button;
private String textViewStr;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
moblileText = (EditText) findViewById(R.id.mobile);
textView = (TextView) findViewById(R.id.textView);
button = (Button) findViewById(R.id.button);

}

public class ThreadQuery extends Thread {

@Override
public void run() {
Looper.prepare();
textViewStr = query();
Message message = new Message();
message.what = 1;
messageHandler.sendMessage(message);
Looper.loop();


try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
super.run();
}

}

public String query() {
String mobile = moblileText.getText().toString();
String result = "";

try {
System.out.println(mobile);
String address = WebServiceRequestFormAndroid.getAddress(mobile);
result = address;
// textView.setText(address);

System.out.println(address);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getApplicationContext(), R.string.error, 1).show();
}
System.out.println("result:" + result);
return result;

}

// 子类化一个Handler

class MessageHandler extends Handler {

public MessageHandler(Looper looper) {

super(looper);

}

@Override
public void handleMessage(Message msg) {

textView.setText(textViewStr);

}

}

}
  评论这张
 
阅读(855)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017