Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 异步任务(异步进程)_Java_Android_Android Asynctask - Fatal编程技术网

Java 异步任务(异步进程)

Java 异步任务(异步进程),java,android,android-asynctask,Java,Android,Android Asynctask,我有一个关于异步任务的问题 使用2个活动“A”和“B” 通过输入一个单词从url搜索,并将值存储在DTO中,然后从getter和setter获取值 我的复杂之处在于,我在活动“B”中实现了异步,而该活动正在从同一DTO获取值 问题是,我的帖子怎么知道后台的do从DTO获取了值,而DTO从internet获取了值……以防internet连接缓慢 我将意向从“A”发送到“B”,并在“B”上显示结果 问题: 1。如果我删除async,则应用程序将显示黑色页面并冻结(仅在连接速度较慢的情况下),但会显

我有一个关于异步任务的问题

使用2个活动“A”和“B”

通过输入一个单词从url搜索,并将值存储在DTO中,然后从getter和setter获取值

我的复杂之处在于,我在活动“B”中实现了异步,而该活动正在从同一DTO获取值

问题是,我的帖子怎么知道后台的do从DTO获取了值,而DTO从internet获取了值……以防internet连接缓慢

我将意向从“A”发送到“B”,并在“B”上显示结果

问题:

1。如果我删除async,则应用程序将显示黑色页面并冻结(仅在连接速度较慢的情况下),但会显示数据

2。如果我使用aync,有时会长时间显示进度对话框,尽管知道数据已经显示在UI中

代码链接

请告诉我可能的解决办法


关于

您需要侦听asyntask complete listener,为此,请让您的活动A实现接口,并从活动B、s asyntask、s onpostexecute方法调用该方法 这样,你的活动A就会知道B已经完成了他的任务,你可以做下一件事。。 希望这有帮助

    public interface AsyncTaskCompletedListener {
        public void OnResultSucceeded(String result);
    }

    public class LoginAsyncTask extends AsyncTask<String, Void, String> {
        AsyncTaskCompletedListener mAsyncTaskCompletedListener;

        @Override
        protected String doInBackground(String... arg0) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);

            mAsyncTaskCompletedListener.OnResultSucceeded(result);
        }
    }

没有看到你的代码,我们什么都不能说。请同时发布您的代码。您能发布您的代码吗?
From Activity A

LoginAsyncTask customloginasync = new LoginAsyncTask(getActivity(),
                FATCH_USER_LIST, arglist);

        customloginasync.execute();

        customloginasync.setOnResultsListener(new AsyncTaskCompletedListener() {

            @Override
            public void OnResultSucceeded(String result, int asyncTaskNo) {

                Logger.logInfo("CustomLogin data=========" + result);

                ParseAvailableUserData(result);

            }
        });