android – 在AsyncTask中获取上下文
作者:互联网
我试图获取名为Opciones的类的AsyncTask中的上下文(这个类是唯一一个调用该任务的类),但我不知道该怎么做,我看到了一些像这样的代码:
protected void onPostExecute(Long result) {
Toast.makeText(Opciones.this,"Subiendo la foto. ¡Tras ser moderada empezara a ser votada!: ", Toast.LENGTH_LONG).show();
}
但它对我来说不起作用它说:“没有封闭的Opciones类型的实例在范围内”
解决方法:
你需要做以下事情.
>当你想使用AsyncTask时,在其他类中扩展它说MyCustomTask.
>在新类的构造函数中,传递Context
例
public class MyCustomTask extends AsyncTask<Void, Void, Long> {
private Context mContext;
public MyCustomTask (Context context){
mContext = context;
}
//other methods like onPreExecute etc.
protected void onPostExecute(Long result) {
Toast.makeText(mContext,"Subiendo la foto. ¡Tras ser moderada empezara a ser votada!: ", Toast.LENGTH_LONG).show();
}
}
并通过以下实例化类.
MyCustomTask task = new MyCustomTask(context);
task.execute(..);
标签:android,android-context,android-asynctask,toast 来源: https://codeday.me/bug/20190917/1809110.html