0

アクティビティがあります。それをアクティビティ A と呼びましょう。このアクティビティのボタンをクリックすると、サーバーにデータが送信され (POST メソッド)、アクティビティ B も起動します。

アクティビティ A からサーバーにデータを送信する前にいくつかの計算が必要になるため、サーバーにデータを送信するタスクを Async タスクとして実装しました。

アクティビティ 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 メソッドに必要な最小限のコードです。また、これは 1 回限りのアクティビティであるため、サービスとして実装したくありません。また、スプラッシュスクリーンは使いたくありません。私が望むのは、サーバーからデータを取得するまで進行状況バーが表示されることだけです。アクティビティ A からアクティビティ B に移動するときに、この黒い画面が表示されないようにしてください。

ありがとう

4

1 に答える 1