English 中文(简体)
将 html 标签应用到文本视图和机器人
原标题:Apply html tags to textview in android
  • 时间:2012-05-26 11:39:05
  •  标签:
  • android
  • html

我正从 sqlite db 显示数据。 数据库中的数据存储在 html 中。 数据含有显示图像的图像标记。 我能够显示数据, 但如何显示图像? 我的图像存储在服务器中 。

我的代码 :

((TextView)view.findViewById(R.id.tv_text)).setText(Html.fromHtml(listItem.gettext()+""));

从上行我正在显示数据库中的数据。 现在与此同时我还需要显示服务器中的图像。 我该怎么做呢?

问题回答

试试我的代码 希望它能帮上忙

TextView mDetail;
ProgressBar mProgressBar;
String body;
Handler handler;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.act_recipe_detail);
    getActionBar().setDisplayHomeAsUpEnabled(true);

    if (this.getIntent().getStringExtra("body") != null)
        body = this.getIntent().getStringExtra("body");

    mDetail = (TextView) this.findViewById(R.id.tv_recipe_detail);

    if (this.getIntent().getStringExtra("body") != null)
        body = this.getIntent().getStringExtra("body");

    mDetail.setText(Html.fromHtml(body));

    mProgressBar = (ProgressBar) this.findViewById(R.id.bar);
    mDetail.setMovementMethod(ScrollingMovementMethod.getInstance());// 皛
    handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            if (msg.what == 0x101) {
                mProgressBar.setVisibility(View.GONE);
                mDetail.setText((CharSequence) msg.obj);
            }
            super.handleMessage(msg);
        }
    };
    Thread t = new Thread(new ImageTask());
    t.start();
    mProgressBar.setVisibility(View.VISIBLE);

}
class ImageTask implements Runnable {
    Message msg = Message.obtain();

    @Override
    public void run() {

        ImageGetter imageGetter = new ImageGetter() {
            @Override
            public Drawable getDrawable(String source) {
                // TODO Auto-generated method stub
                URL url;
                Drawable drawable = null;
                try {
                    url = new URL(source);
                    drawable = Drawable.createFromStream(
                            url.openStream(), null);

                    int scale_y = MAX_HEIGHT/drawable.getIntrinsicHeight();
                    drawable.setBounds(0, 0,
                            drawable.getIntrinsicWidth()*scale_y,
                            drawable.getIntrinsicHeight()*scale_y);

                } catch (MalformedURLException e) {
                    Log.e(TAG, "MalformedURLException" + e.toString());
                } catch (IOException e) {
                    Log.e(TAG, "IOException" + e.toString());
                }
                return drawable;
            }
        };
        CharSequence test = Html.fromHtml(body, imageGetter, null);
        msg.what = 0x101;
        msg.obj = test;
        handler.sendMessage(msg);
    }
}




相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签