ページに30以上の画像を読み込む必要があります(ティーザーテキスト付き)。 AsyncTaskを介してすべてのイメージを読み込みますが、メインスレッドのビューに対してのみ変更を実行できるので、現在のレイアウトを変更することはできません。私のアプリが「ページ読み込み」中にハングする必要がないように、非同期的にすべてを読み込む最良の方法は何ですか?アンドロイドのバックグラウンドビューのアクティビティ
答えて
レイアウトを変更できないのはなぜですか? AsyncTask
の場合は、onProgressUpdateがUIスレッドで実行されます。 doInBackground
コードにpublishProgressと電話するだけです。
==更新==
private class LoadImageTask<Url, String, String> extends AsynTask{
doInBackground(Url... urls){
for(int i=0; i<urls.length; i++){
File img = DownloadImage(urls[i]); // Your download method..
publishProgress(img.filename); // Suppose it is saved in sd card
// publish progress will call onProgressUpdate immediately, but on different thread
}
}
onProgressUpdate(String filename){
// Update the UI.. this method will run on UI thread
displayImage(filename);
}
}
私はあなたがバックグラウンドでビューを構築することができるとは思いません。あなたは、進行中のダイアログを表示して、ユーザがアプリケーションがなぜビジーであるのかを理解できるようにすることをお勧めします。
タスクが別のスレッドで実行されていない場合は、進行状況ダイアログもブロックされます。 – xandy
クラスが活動を拡張する場合、あなたはまだかかわらず、非同期で実行
runOnUiThread(new Runnable() {
public void run() {
//Update UI elements in this block
}
});
これは私の主なスレッドをブロックしますが、終了するまでですか? – Jacksonkr
それはキューに入れられるので、メインスレッド上で実行されます。イメージをロードするスレッドについては、引き続き実行されます。 – PinoyCoder
- 1. iOS 4のUITableViewバックグラウンドビュー
- 2. アンドロイドのアクティビティの透明度
- 3. セットのアクティビティ - GridViewのアンドロイド
- 4. アンドロイド:アクティビティは、マニフェスト
- 5. スレッドのアンドロイド待機アクティビティ
- 6. アンドロイドSlidingTab開始アクティビティ?
- 7. 他のアクティビティからの変更後のアンドロイド更新アクティビティのテキストビュー
- 8. アンドロイド - 1つのアクティビティから別のアクティビティにトーストを渡す
- 9. アンドロイド - アクティビティごとのヒープサイズの増加
- 10. アンドロイドでのアクティビティ開始の問題
- 11. アンドロイドでのアクティビティの移動方法
- 12. アンドロイド - 「アクティビティのコンテキスト」VS「ビューのコンテキスト」
- 13. アンドロイドでのアクティビティ間の遷移効果
- 14. アンドロイド:2つのアクティビティ、一つのタブは
- 15. アンドロイドでの各運動のアクティビティ
- 16. uiviewをバックグラウンドビューに追加する
- 17. アンドロイド:子アクティビティで親アクティビティから実行中のスレッドを使用
- 18. アンドロイドでアクティビティを殺す
- 19. アンドロイドのタブホスト内でアクティビティを開始
- 20. ArrayListの送信<float[]>アクティビティ(アンドロイド)
- 21. アクティビティの開始時に、oncreate(アンドロイド)
- 22. このアクティビティを閉じるには? (アンドロイド)
- 23. アンドロイドのフロントにアクティビティを届けるブロードキャストレシーバ
- 24. 次のアクティビティのUIを塗りつぶすアンドロイドの現在のアクティビティをフォーム
- 25. アンドロイドの現在のアクティビティから以前のアクティビティを削除する
- 26. UITableViewバックグラウンドビューのフレームを調整しますか?
- 27. NSView dataWithPDF rectの中にバックグラウンドビューがあります
- 28. アンドロイドは1つのアクティビティから別のアクティビティに移動します
- 29. アンドロイドの別のアクティビティでアクティビティを作成することはできますか?
- 30. アンドロイドでトップビューをドラッグするとバックグラウンドビューが小さくなる必要があります
意志を使用することができますか?それとも、私のメインスレッドを「一時停止」しますか? – Jacksonkr
onProgressUpdateは一時停止するため、UIを更新するだけです。読み込みはdoInBackgroundで行われると仮定します。更新の回答を確認してください。 – xandy