0
我有一個AsyncTask類,它連接到Web服務以獲取內容並打印到屏幕上。
這裏是我的代碼:如何使用一個AsyncTask類在Android中應用不同的活動
public class GetCreditAsyncTask extends AsyncTask<Object, Boolean, String>{
private MainActivity callerActivity;
private String credit;
public GetCreditAsyncTask(Context context){
callerActivity = (MainActivity)context;
}
@Override
protected String doInBackground(Object... params) {
.....//do something and get the credit
}
@Override
protected void onPostExecute(String response) {
callerActivity.txtView.setText(credit);
}
}
它可以完美的,但現在,我有一個更多的活動ProfileActivity
也想用GetCreditAsyncTask
獲得信貸,並打印到txtView
,
但在開始GetCreditAsyncTask
,我投callerActivity
到MainActivity
。
問題是如何使用一個AsyncTask類,以便我可以調用它並獲得功勞。
至於由@FlávioFaria建議的接口溶液的替代,也可以使'GetCreditAsyncTask'一個抽象類,它僅包含用於'doInBackGround(...)'共享邏輯。然後,在您的活動中,您可以擴展此任務,並提供特定於該活動的'onPreExecute(...'和'onPostExecute(...)'的實現。 –