首页 > 解决方案 > 如何从android中的执行函数中获取返回值?

问题描述

在android中,是否可以从执行中运行的函数获取返回值?

调用文件

Connector connector  = new Connector();
connector.execute("login", ipPop.getText().toString(), username.getText().toString(), password.getText().toString());

函数文件

public class Connector extends AsyncTask<String,Void,Void>{
    @Override
    protected Void doInBackground(String... voids) {
        return false;
    }
}

标签: javaandroidandroid-studio

解决方案


您在 Android 中使用 AsyncTask。当您的类扩展它时,您可以覆盖另外 3 个方法。在这里,您可以覆盖onPostExecute从 doInBackground 返回的数据传递的内容。由于 onPostExecute 在 UI 线程上运行,您可以从那里更新 UI,例如取消进度条。

@Override
protected void onPostExecute(String result) {
   // "result" is data return from doInBackground method
   // execution of result of Long time consuming operation
       
}

请参阅此示例以供您理解

根据最新的 android 版本,不推荐使用 AsyncTask 避免使用它。检查替代品


推荐阅读