其他分享
首页 > 其他分享> > android – 在AsyncTask中获取上下文

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