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