【发布时间】:2014-02-10 19:26:16
【问题描述】:
我无法使用我的 K1234562 中的findViewById()=(我该如何使用它?`
private class BackGroundTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
try {
//execute - means sending
response =httpClient.execute(request);
HttpEntity entity=response.getEntity();
String str=EntityUtils.toString(entity);
Log.v("Json=", str);
//adding new response to our Response Class
resp.addNewResponse(str);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
Log.e(TAG, "Exception caught: ", e);
}
return null;
}
protected void onPostExecute(Void result) {
super.onPostExecute(result);
httpClient.getConnectionManager().shutdown();
TextView textView = (TextView) findViewById(R.id.textView1);
textView.setText("Done");
}
}
}
请写一个准确的代码。这个类在另一个 .java 文件中。不在MainActivity.java
【问题讨论】:
-
任何涉及
AsyncTask中的操作的View都是一个坏主意,因为AsyncTask与视图没有任何关系,并且在如何与@987654327 通信方面具有不同的机制@。使用Handler或BroadcastReceiver进行这种交流。 -
@NKN 从
onPostExecute更新用户界面很好。 -
@Simon 真的!不过这个只有
doInBackground()结束后才有用,真不知道OP要解决什么样的问题...
标签: java android android-asynctask textview findviewbyid