Android异步类返回null

哈尔维

我正在尝试修复此代码:

public class Async_Test extends AsyncTask<String, String, String> {

private String Response;

@Override
protected String doInBackground(String... params)
{
    String tmp = "something";
    return tmp;
}

@Override
protected void onPostExecute(String result) {
    Response = result;
}

public String getResponse()
{
    return this.Response;
}

}

问题如下:getResponse()方法始终为null。

执行代码:

public void onClick(View v) {
               try{
                Async_Test t = new Async_Test();
                t.execute("");
                showMainText("res: "+t.getResponse());              
            } catch(Exception e)
            {
                showMainText(e.toString());
            }
        }
本75

异步任务是异步的。更准确地说,这是调用该execute()方法时发生的事情

  • 创建一个新线程。
  • doInBackground(...)关于这个新的线程执行
  • when doInBackground(...)Terminate:onPostExecute在主线程上执行。

因此,当您调用showMainText("res: "+t.getResponse());(它在主线程中)时:onPostExecute尚未运行,Response并且仍然为null。

要查看AsyncTask的效果:您可以在行上放置一个断点:

showMainText("res: "+t.getResponse());

并且您将看到显示的文本将是“某物”(由于断点:AsyncTask将有时间执行。)

为了得到你所期望的结果是:招行showMainText("res: "+t.getResponse());onPostExecute

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android注入类返回null

来自分类Dev

Flutter - 异步函数返回 null

来自分类Dev

模型类返回 null

来自分类Dev

Mockito模拟类返回Null

来自分类Dev

返回NULL变量的类方法

来自分类Dev

数组在类中返回NULL

来自分类Dev

返回NULL变量的类方法

来自分类Dev

Android:外部异步类中的ProgressDialog(某块异步线程)

来自分类Dev

Android:外部异步类中的ProgressDialog(某块异步线程)

来自分类Dev

android:LruCache返回null

来自分类Dev

Android:findViewById返回null

来自分类Dev

Android ProgressDialog返回null

来自分类Dev

Android UsbAccessory []返回null

来自分类Dev

android:LruCache返回null

来自分类Dev

Android getAllCellInfo()返回null

来自分类Dev

getIntent 返回 null - Android

来自分类Dev

异步android将值返回到数组

来自分类Dev

Android异步任务返回类型和锁定

来自分类Dev

快速异步完成以返回自定义类中的数组

来自分类Dev

可以在返回具体类之前调用异步方法的工厂

来自分类Dev

android:当从另一个类访问时,findViewById返回NULL

来自分类Dev

xUnit-Test中的模拟异步方法始终返回null

来自分类Dev

Room数据库使用协程异步返回Null

来自分类Dev

如何使用异步方法将异步方法的返回值传递到同步类中

来自分类Dev

硒findElements()/ findElement(按类)返回null

来自分类Dev

Volley AppController类对象返回null

来自分类Dev

构造函数为Avatar类返回null

来自分类Dev

派生类构造函数返回Null

来自分类Dev

使用sqlalchemy从类返回NOT NULL列