Java 异步任务(异步进程)
我有一个关于异步任务的问题 使用2个活动“A”和“B” 通过输入一个单词从url搜索,并将值存储在DTO中,然后从getter和setter获取值 我的复杂之处在于,我在活动“B”中实现了异步,而该活动正在从同一DTO获取值 问题是,我的帖子怎么知道后台的do从DTO获取了值,而DTO从internet获取了值……以防internet连接缓慢 我将意向从“A”发送到“B”,并在“B”上显示结果 问题: 1。如果我删除async,则应用程序将显示黑色页面并冻结(仅在连接速度较慢的情况下),但会显示数据 2。如果我使用aync,有时会长时间显示进度对话框,尽管知道数据已经显示在UI中 代码链接 请告诉我可能的解决办法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,则应用程序将显示黑色页面并冻结(仅在连接速度较慢的情况下),但会显
关于您需要侦听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);
}
});