我正在使用asynctask做一些xml的东西,我想在完成后更新textview,但是我遇到了以下问题,我无法使用findViewById引用textview。
public class HTTPRequestTask extends AsyncTask<String , Void, String > {
@Override
protected String doInBackground(String... args) {
q = (TextView)findViewById(R.id.xmlData); //cannot resolve findViewbyId
然后我想在post execute方法中更新textview。
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);{
q.setText(s);
}
}
能够在postExecute方法中设置文本的最直接的方法是什么?
答案 0 :(得分:0)
您应该参考嵌入了类Activity class
的{{1}}。
例如:HTTPRequestTask
答案 1 :(得分:0)
您必须将Activity
变量或TextView
变量传递到HTTPRequestTask
我的意思是,创建构造函数,
public class HTTPRequestTask extends AsyncTask<String , Void, String > {
private Activity act;
private TextView q;
public HTTPRequestTask (Activity act) {
this.act = act;
q = (TextView)act.findViewById(R.id.xmlData);
}
@Override
protected String doInBackground(String... args) {
//some code with your q
要开始任务,请使用:
new HTTPRequestTask(this).execute();