AsyncTask的(异步进程) [英] AsyncTask (Asynchronous processes)

查看:192
本文介绍了AsyncTask的(异步进程)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a problem regarding Async task

异步于Android

2使用活动的A和B

输入一个字从DTO URL和和存储值搜索,然后取出由getter和setter值。

by entering a word to search from the url and and store value in DTO and then fetching values from getter and setter.

我复杂的是,我已经在异步我的活动B落实,活动从获取相同的DTO值。

My complication is that i have implemented async in my activity "B" and that activity is fetching value from same DTO.

问题是,我的帖子是怎么知道的背景下,这样做从DTO和DTO在缓慢的互联网连接的情况下获取的价值有从互联网上获取的价值......。

Problem is that how my post know that do in background have fetched value from DTO and DTO have fetched value from internet...in case of slow internet connection.

我米从A发送意图B,并显示在B

I m sending intent from "A" to "B" and showing the results on "B"

问题:

1。如果我删除异步然后应用显示黑页,并且还冻结(仅在连接速度慢的情况下),但数据显示

2。如果我使用aync然后有时进度对话框显示了很长一段时间,知道这些数据的inspite已经显示在用户界面

code链接 https://www.dropbox.com/s/p27rpokz68sryv3 /SearchData.java

https://www.dropbox.com/s/rm3i52djiay327u/SearchData_DTO.java

https://www.dropbox.com/s/2hpufx2a12480on/Search.java

PLS建议我这样做的可能的解决方案

Pls suggest me the possible solution for this

问候

推荐答案

您需要监听asyntask完整的听众,对于让你的酶活性的impliment接口并调用从活动B的方法,S Asyntask,S onpostexecute方法
这样的活动为您会知道B已经完成了他的任务,你可以做接下来的事情..
希望这有助于

You need to listen for asyntask complete listener, For that let your activity A impliment interface and call that method from Activity B,s Asyntask,s onpostexecute method Thus your activity A will come to know that B has finished his task and you can do next thing.. Hope this helps

    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);
        }
    }

下面的接口让活动A impliment这一点,并从活动调用这个从onpostexecute

Here is the interface Let Activity A impliment this and from Activity invoke this from onpostexecute

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);

            }
        });

这篇关于AsyncTask的(异步进程)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆