SyncTask在单独的类中,达到我的观点

时间:2010-11-07 17:44:53

标签: android

我在一个单独的类中有Async,我需要在一些文本视图上更改setText 这怎么可能? 或者我应该在我的班级中保留AsyncTask吗?

private class DownloadImageTask extends AsyncTask<Object, Void, AdModel> {
    @Override
    protected AdModel doInBackground(Object... params) {
        return getAd();

    }

    protected void onPostExecute(AdModel result) {
        textTitle.setText(result.getTitle());

     }
 }

2 个答案:

答案 0 :(得分:2)

您可以为AsyncTask创建一个构造函数,该构造函数引用您的活动。您可能要小心不要在AsyncTask完成时将其归零,从而不泄漏活动引用。

答案 1 :(得分:0)

私有类DownloadImageTask扩展了AsyncTask {

private TextView text;

DownloadImageTask(TextView txtToUpdate) {
     text = txtToUpdate;
}

@Override
protected AdModel doInBackground(Object... params) {
    return getAd();

}

protected void onPostExecute(AdModel result) {
    text.setText(result.getTitle());
    text = null;
 }

}

或..better ...创建监听器接口,您将在onPostExecute中调用它。监听器接口的实现应该更新TextView。