当前位置: 代码迷 >> Android >> 为何读不出来
  详细解决方案

为何读不出来

热度:46   发布时间:2016-04-28 05:30:49.0
为什么读不出来
谁能告诉我为什么读不出来?
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
  相关解决方案