2017-11-19 8 views
0

私はスピナーを持ったアプリケーションを持っていて、このスピナーには私のデータベースのデータがあります。アプリケーションを実行する前にデータベースからデータを取得

私はasync taskを使用してデータベースからデータを取得し、onPostExecuteメソッドでこのデータをスピナーに追加します。

私の主な問題は、アプリケーションを実行すると、非同期タスクがまだ完了していないため、スピナーデータが利用できないということです。

私の質問は、私のアプリケーションを実行する前にデータベースのデータがスピナーに入っていることです。

+0

コードを投稿してください。 – Enzokie

答えて

1

ロードメッセージを表示するスピナーをカバーするレイアウトを作成し、これはポストにGONEへの視界があなたのasynctask

またはあなたの主な活動であなたのデータをロードする方法を実行し、タスクがあるとき、あなたのスピナー活動を開始してレイアウト設定完全

0

実際、スピナーデータのような単純なデータのロードは非常に高速です(通常は100,200ミリ秒です)。その後、アプリケーションを開く前にデータをロードする必要はありません。たぶんあなたの問題はAsyncTaskで多すぎることをしています。 AsyncTaskはキュー内で1つずつ実行されます。だから、私の提案では、スピナーデータの読み込みにThreadを使用しています:

new LoadingSpinnerDataThread().start(); // it's better if you can use RxAndroid. 
関連する問題