4
如果tv.setText(Html.fromHtml(text));
花费太长时间并挂起UI,我该怎么办? 如果我可以用线程做到这一点,你可以提供一个例子吗?Android Html.fromHtml花费的时间太长
如果tv.setText(Html.fromHtml(text));
花费太长时间并挂起UI,我该怎么办? 如果我可以用线程做到这一点,你可以提供一个例子吗?Android Html.fromHtml花费的时间太长
private Handler mHandler = new Handler() {
void handleMessage(Message msg) {
switch(msg.what) {
case UPDATE_TEXT_VIEW:
tv.setText(msg.obj); // set text with Message data
break;
}
}
}
Thread t = new Thread(new Runnable() {
// use handler to send message to run on UI thread.
mHandler.sendMessage(mHandler.obtainMessage(UPDATE_TEXT_VIEW, Html.fromHtml(text));
});
t.start();
如果您不需要解析长或复杂的HTML,的Spannable
手动排版比使用Html.fromHtml()
快得多。以下样品来自Set color of TextView span in Android
TextView TV = (TextView)findViewById(R.id.mytextview01);
Spannable wordtoSpan = new SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers");
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TV.setText(wordtoSpan);
很快!谢谢 – OkyDokyman 2010-06-30 23:18:43