我想將我的片段傳遞給一個ASyncTask類,以便在任務完成後更新片段中的一個或兩個小部件。這裏就是我處理:是否有可能在構造函數中傳遞一個片段?
而且LoginTask:
public class LoginTask extends AsyncTask<String, Void, Integer> {
private ProgressDialog progressDialog;
private Polling activity;
private int id = -1;
private JSONParser jsonParser;
private static String loginURL = "http://davidjkelley.net/android_api/";
private static String registerURL = "http://davidjkelley.net/android_api/";
private static String KEY_SUCCESS = "success";
private static String KEY_ERROR = "error";
private static String KEY_ERROR_MSG = "error_msg";
private static String KEY_UID = "uid";
private static String KEY_NAME = "name";
private static String KEY_EMAIL = "email";
private static String KEY_CREATED_AT = "created_at";
TextView loginErrorMsg = (EditText)activity.findViewById(R.id.loginErrorMsg);
EditText userName = (EditText)activity.findViewById(R.id.emailEditText);
EditText passwordEdit = (EditText)activity.findViewById(R.id.passEditText);
public LoginTask(Polling activity, ProgressDialog progressDialog)
{
this.activity = activity;
this.progressDialog = progressDialog;
}
所以我想第三個參數添加到LoginTask的構造,基本上我LoginFragment的一個實例。我的目標是更新TextView或在屏幕上放置一個Toast來澄清登錄是成功還是失敗:現在,用戶無法告訴登錄是如何進行的。想法?
我更喜歡這個,因爲它更接近Android的東西(特別是聽者模式)。在實踐中,我使用抽象基類而不是接口,因爲回調方法通常有一些默認實現。 – curioustechizen 2012-03-30 08:59:30