私の問題は次のとおりです。次のようなテキスト ビューに画像を読み込もうとしています。
URLImageParser p = new URLImageParser(textView, this);
Spanned htmlSpan = Html.fromHtml(textWithImages, p, null);
textView.setText(htmlSpan);
この例に従いましたhttps://stackoverflow.com/a/7442725/1835251
Web から画像を読み込むと、完全に機能します。
SDカードからも特定の画像をロードするようにコードを少し修正しました。
非同期タスクの「doInBackground」メソッドで、これを実装しました:
@Override
protected Drawable doInBackground(String... params) {
String source = params[0];
Drawable d = null
if(source != null) {
if(source.startsWith("/myApp/images/")) {
localImage = true;
}
}
if(localImage) {
String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath();
d = Drawable.createFromPath(sdcard+source);
d.setBounds(0, 0, 0 + (int)(d.getIntrinsicWidth()), 0
+ (int) (d.getIntrinsicHeight()));
localImage = false;
} else {
// load images from internet
}
return d;
localImage は、現在のソースがインターネットからの画像またはローカル画像を「指している」かどうかを判断するために設定されるブール値です。
前に述べたように:インターネットからの画像の読み込みは完全に機能します。しかし、 SD カードから画像を読み込む
と、一部の画像が表示されないことがあります。
正しく読み込まれていないかのように、テキスト全体 (画像を含む) が切り取られます。
これは、Samsung S Plus よりも Samsung Galaxy S3 で頻繁に発生することがわかりました。
S3 では、1 枚または 1.5 枚の画像のみをロードして、残りがカットされることがあります。
S Plus は常に 4 つの画像すべてを読み込みますが、テキストの最後の 2 文または 3 文をカットすることはめったにありません。
これは AsyncTask の一種のタイミングの問題だと思いますが、これまで扱ったことはありません。
これは非常に大きな投稿であることは承知していますが、誰かがまだ私を助けてくれることを願っています.
よろしくお願いします
シギー