我想創建一個通用的AsynceTask類,我的所有活動都使用/共享從URL下載內容。出於這個原因,我不希望OnPostExecute除了將內容發送回調用AsyncTask類的活動中的某個方法以外,不做其他任何事情。如何使用上下文訪問/操作另一個類/活動
我知道我需要創建一個構造函數來設置調用AsyncTask
的Activity的上下文,但接下來是什麼,我該如何使用上下文來發回與該上下文相對應的活動。我沒有看到教程展示如何以這種方式使用上下文。
可以說我有:
public class LoginActivity {
public int ActivityMember;
public void HandleButtonClick(void){
DownloadFromURL task = new DownloadFromURL(this);
task.execute(url);
}
public void HandleLoginResult(int x){
ActivityMember = x;
}
}
現在在一個單獨的Java文件,我有:
private class DownloadFromURL extends AsyncTask<List<NameValuePair>, Long, JSONObject> {
Context context;
public void DownloadFromURL (Context context){
this.context = context;
}
@Override
protected void onPostExecute(JSONObject json) {
context.(<- *my question involves this part of code)
}
}
我敢肯定,我不能叫context.ActivityMember
,或context.HandleLoginResult(y)
內onPostExecute
,因爲上下文不是類型LoginActivity
,它的一個上下文。 那麼,如何使用它的上下文訪問屬於LoginActivity
的成員或方法?
正是我在找的答案,謝謝。 – Siavash 2013-05-04 07:59:42
鏈接已經死了 – John 2014-03-27 03:53:38