EZF*_*rag 5 java android android-asynctask
我试图通常子类化android.os.AsyncTask类.我基本上只想添加一个属性.问题是,我仍然希望能够将它用作匿名类.
import android.content.Context;
import android.os.AsyncTask;
public class KAsyncTask extends AsyncTask<Params, Progress, Result> {
public Context c;
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过对它进行子类化,但是我无法将它包裹在我脑海中我应该如何做到这一点.
此致,EZFrag
Reu*_*ton 16
你的意思是你仍然希望它成为像AsyncTask这样的抽象模板类?宣言将是:
public abstract class KAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
public Context c;
}
Run Code Online (Sandbox Code Playgroud)
感谢Reuben,它按预期工作100%.
这就是我现在拥有的:
import android.content.Context;
import android.os.AsyncTask;
public abstract class KAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
public Context context;
public KAsyncTask<Params, Progress, Result> setContext(Context c){
this.context = c;
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我使用它的方式:
new KAsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
Toast.makeText(context, "Connecting to Server...", Toast.LENGTH_LONG).show();
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
//super.onPostExecute(result);
Toast.makeText(context, "Responce Recieved.", Toast.LENGTH_LONG).show();
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
//Do webservice calls in here
return null;
}
}.setContext(this).execute();
Run Code Online (Sandbox Code Playgroud)
我需要上下文从任务本身向用户显示消息.
此致,EZFrag