1

ユーザーが後で表示できるようにWebページをダウンロードしようとしています。これまでに、htmlと画像をダウンロードしました。HTMLを適切にフォーマットして表示することはできますが、画像をインライン化することはできません。

私がこれまでに使用しているコード:

これが記事を入手するための私の方法です。

MyImageGetter mig = new MyImageGetter(this, urlId);

Spanned span = Html.fromHtml(contents[1], mig, null);
contents[1] = span.toString();

titleView.setText(contents[0]);
content.setText(contents[1]);

contents []は、2つの文字列を含む配列です。contents [0]は単純な文字列であり、contents[1]はHTMLマークアップを含む文字列です。

MyImageGetter:

public class MyImageGetter implements Html.ImageGetter{

String urlId = null;
Context c = null;

public MyImageGetter(ArticleViewer articleViewer, String urlId2) {
    c = articleViewer;
    urlId = urlId2;
}

public Drawable getDrawable(String source) {
    String[] brokenUrl = source.split("/");
    String imgName = brokenUrl[brokenUrl.length-1];

    File image = new File("/data/data/com.theHoloDev.Reader/Offline/" + urlId + "/" + imgName);
    Log.w("MyApp", image.getAbsolutePath());
    Bitmap bm = BitmapFactory.decodeFile(image.getAbsolutePath());

    Drawable d = new BitmapDrawable(c.getResources(), bm);

    return d;
}

}

ログに記録image.getAbsolutePath()すると、ddmsに存在するファイルが表示されます。テキストコンテンツは完全にそこにありますが、各画像にobjを示す小さな黒いボックスがまだあります。テキストビューでもそのように画像を表示できると思っていましたが、何か間違っているか、別の方法があります。

4

2 に答える 2

0

私はそれを考え出した。それ以外の:

Spanned span = Html.fromHtml(contents[1], mig, null);
contents[1] = span.toString();

content.setText(contents[1]);

私は欲しい:

Spanned span = Html.fromHtml(contents[1], mig, null);
content.setText(span);

スパンを文字列に設定する際に問題が発生しました。

于 2012-04-04T17:13:58.247 に答える
0

あなたの望む最終結果は何ですか?HTML を表示しているのにわかりにくいのですが、ユーザーにページを表示させたいのですが、HTML なしで、またはデバッグのためにそれを行いましたか? ユーザーには html ではなく、ページ自体が表示されると思います。この場合、私は WebView を使用します。 http://developer.android.com/reference/android/webkit/WebView.html

テキストビューは、あなたが使用しているように使用されることを意図しているとは思いません。

幸運を。

于 2012-04-04T01:49:35.930 に答える