提高举杯从AsyncTask的AsyncTask

2023-09-05 11:15:29 作者:新城已无旧少年

我想提出一个敬酒的AsyncTask的,但我无法让我的参数的权利。我是从onProgressUpdate敬酒,所以我的UI线程,我认为这是正确的。我想我会错与上下文参数,我应该怎么传递作为一种价值?

I'm trying to raise a toast from asynctask, but I'm having trouble getting my parameters right. I'm toasting from onProgressUpdate, so I'm on the UI thread, which I think is correct. I think I'm going wrong with the context parameter, what should I pass in as a value?

编辑:显示$ C $以下

Showing code below

    @Override
protected void onProgressUpdate(String... strings){
    Toast toast = Toast.makeText(MainActivity.this, strings[0], Toast.LENGTH_LONG);
    toast.show();
}

MainActivity.this是说类型MainActivity没有封闭实例是可见的了。我不知道该怎么传递的上下文来代替。

MainActivity.this is saying "No enclosing instance of the type MainActivity is accessible in scope." I'm not sure what to pass as a context instead.

感谢

推荐答案

获得上下文通过调用对象的 getApplicationContext() MainActivity ,并将其作为参数传递给你的的AsyncTask 。正如EboMike指出, MainActivity.this 会如果只是工作,你的的AsyncTask 是一个内部类。

Get the Context object by calling getApplicationContext() from MainActivity and pass it as a parameter to your AsyncTask. As EboMike has pointed out, MainActivity.this would only work if your AsyncTask was an inner class.

 
精彩推荐
图片推荐