アクティビティがあります。それをアクティビティ 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 に移動するときに、この黒い画面が表示されないようにしてください。
ありがとう