0

我有一个活动。我们将其称为活动 A。单击此活动中的按钮将数据发送到服务器(POST 方法)并启动活动 B。

由于在从 Activity A 向服务器发送数据之前需要进行一些计算,因此我将向服务器发送数据的任务作为异步任务实现。

在活动 B 中,在 OnCreate 方法中有一个 GET 请求被触发。因此,当 Activity B 启动时,这个 GET 请求就会被触发。从服务器获取数据后,我将数据加载到列表视图中。所有这些都在 OnCreate 方法中。同样,我已将此 GET 请求实现为异步任务。

此外,Activity A 中的 POST 方法和 Activity B 中的 GET 方法是相互关联的。

我面临的问题是当我单击 Activity A 中的按钮时,屏幕变黑并在 10 秒后出现 (Activity B) 。我在 Activity 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 时,请帮助避免出现此黑屏。

谢谢

4

1 回答 1

3

任何人都可以让我知道我哪里出错了。

while(data not fetched){}位很可能是您的困难的根源。

开始一个任务onCreate()很好。但是,不要阻止处理其余的onCreate(). 删除while循环,并onPostExecute()在数据准备好时在任务的句柄中更新 UI。

于 2013-11-06T23:19:08.693 回答