私は、HTMLページを受け取り、それらを解析して画面に表示するアプリケーションを作成しています。具体的には、このアプリケーションはメッセージボードからHTMLを取り出し、ユーザーが投稿した投稿を一覧表示します。非同期Html.ImageTextViewで複数の画像を設定するための画像
投稿のコンテンツの多くは<img>
タグの画像であるため、画像のダウンロードを処理するにはHtml.ImageGetter
と書く必要があります。
私textView.setText()
方法は次のようになります。
myTextView.setText(Html.fromHtml(myText, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable d;
// Need to async download image here
return d;
}
}, null));
こうする同期簡単ですが、それは私のUIスレッドをロックしないように非同期にこれを実行するための推奨方法はありますか?私は最終的にこれらのイメージのキャッシングを構築したいと思っていますが、非同期ダウンロードがそこにあったらかなり簡単だろうと思います。
私はあなたが何を意味するかを見ます。そこに散らばってタグでHTMLを表示する別の方法がありますか?私はWebViewの使用について少しは読んだことがありますが、実際には多くのWebViewをListViewに行として配置する必要はありませんでした。他の提案は高く評価されています:) – thedude19
@ thedude19: 'ListView'の' WebView'はスクロールすると問題になるかもしれません。しかし同時に、 'Html。 'の' 'もサポートしています。fromHtml() 'は、ローカルアセット(例えば、絵文字を同等のアイコンに変換する)を対象としているようです。さらに、本当に長いかもしれないという理由だけで、あなたが完全なメッセージボードのエントリを 'ListView'に入れたいと思っているのは本当に懐疑的です。 ListViewの最初の3-4行をプレーンテキストのみで表示し、 'ListView'エントリをクリックすると' WebView'でフル投稿を表示することをお勧めします。 – CommonsWare
@CommonsWare:応答する時間をとってくれてありがとう。私はこれをすべて前進させながら検討します。 – thedude19