0
웹 서비스에 연결하는 AsyncTask 클래스가있어서 뭔가를 얻은 다음 화면에 인쇄합니다.
여기 내 코드입니다 : 그것은 완벽하게 작동하나의 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에 의해 제안 된 인터페이스 솔루션에 대한 대안, 당신도 할 수 있듯이'유일한'doInBackGround (...)'의 공유 논리를 포함하는 추상 클래스를 GetCreditAsyncTask'. 그런 다음 당신의 활동에서이 작업을 확장하고 해당 활동에 특정한'onPreExecute (...'와'onPostExecute (...)'에 대한 구현을 제공 할 수 있습니다. –