谁能告诉我为什么读不出来?
public class DiseaseFind extends Activity {
Handler handler = new Handler() {
public void handleMessage(Message msg) { // TODO Auto-generated
if (msg.what == 123) {
String s = (String) msg.obj;
text.setText(s);
}
}
};
String result = "";
TextView text;
Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.diseasefind);
text=(TextView)findViewById(R.id.maintext);
button=(Button)findViewById(R.id.mainbutton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Thread(new myThread()).start();
}
});
}
public class myThread implements Runnable {
@Override
public void run() {
String httpUrl = "http://api.yi18.net/disease/department";
// TODO Auto-generated method stub
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(httpUrl);
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(httpResponse
.getEntity());
result = strResult.toString();
Message message = new Message();
message.what = 123;
message.obj = result;
handler.sendMessage(message);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
------解决方案--------------------
把
Message message = new Message();
message.what = 123;
message.obj = result;
handler.sendMessage(message);
改为
Message msg2 = mNoLooperThreadHandler.obtainMessage(2, 1, 1, msg);
mNoLooperThreadHandler.sendMessage(msg2);
class EventHandler extends Handler {
String ehmsg;
public EventHandler(Looper looper) {
super(looper);
}
public EventHandler() {
super();
}
mNoLooperThreadHandler是EventHandler 类型的
你再加一句EventHandler mNoLooperThreadHandler=null;试一下
还是不行就QQ我291 187 8521