0

アプリが にデータを読み込んでいるときにAsyncTask、スプラッシュ スクリーンが表示されます。このデータの読み込みは 1 秒未満の場合もあれば、それよりも長い場合もあります。ただし、データの読み込みが最初に終了した場合は少なくとも 2 秒間スプラッシュが発生するようにするか、そうでない場合はデータが完了するまで待ちます。

私の最初の解決策はCountdown Timer、 と 2 つのブール値を使用することでした。プロセスが開始されると、ブール値は true に設定されます。プロセスが完了すると、ブール値の false が設定されます。次に、他のブール値が偽であるかどうかを確認し、偽である場合はスプラッシュを却下します。

これは機能しますが、複雑すぎると感じており、より効率的またはより良い解決策を見つけたいと思っていました.

4

2 に答える 2

0

データの読み込みが最初に完了した場合はスプラッシュが少なくとも 2 秒間アップするようにするか、それ以外の場合はデータが完了するまで待ちます。

データをロードするために Thread(Splash) と AsyncTask を非同期的に開始し、AsyncTask の新しいアクティビティを呼び出すonPostExecute()ことができます。

于 2012-06-16T04:21:42.700 に答える
0

System.getCurrentTime();これを達成するために使用できませんか?

AsyncTask の開始時に、そのメソッドを呼び出して結果を保存します。次に、タスクが終了したら、メソッドを再度呼び出して、時間値の差を計算します。2000 ミリ秒を超えない場合は、システム時間を継続的に要求する while ループを作成し、2 ミリ秒以上になるまで値を比較します。

于 2012-06-16T04:23:44.837 に答える