我有一个活动。让我们将其称为活动A.点击此活动中的按钮可将数据发送到服务器(POST方法),并启动活动B.
由于在从活动A向服务器发送数据之前涉及一些计算,我已经实现了将数据作为异步任务发送到服务器的任务。
在Activity B中,在OnCreate方法中有一个GET请求被触发。因此,当活动B启动时,此GET请求将被触发。从服务器获取数据后,我在列表视图中加载数据。所有这些都在OnCreate方法中。我再次将此GET请求实现为异步任务。
此外,活动A中的POST方法和活动B中的GET方法是相互关联的。
我面临的问题是当我点击活动A中的按钮时,屏幕变黑并在10秒后出现(活动B)。我在活动B中实现了一个进度条,并使其显示,直到我收到服务器的响应。但这根本没有出现。我得到的只是突然出现了列表视图。
想知道为什么这会出现,因为任务是活动A和B中的异步任务
Activity B
onCreate method
{
display progress bar
asynctask to fetch data
while(data not fetched){
// loop through until you get data
}
populate list view
}
任何人都可以让我知道我哪里出错了。这是oncreate方法中需要的最小代码。此外,由于这是一次性活动,我不想将其作为服务来实现。另外,我希望不要使用闪屏。我想要的只是显示进度条,直到我从服务器获取数据。从活动A到活动B,请帮助避免出现黑屏。
由于
答案 0 :(得分:3)
任何人都可以让我知道我哪里出错了。
while(data not fetched){}
位很可能是您遇到困难的根源。
在onCreate()
开始任务很好。但是,不会阻止其余onCreate()
的处理。删除while
循环,并在任务的onPostExecute()
句柄中处理数据准备就绪时更新UI。