2010-12-01 13 views
0

このプロジェクトでは少し歴史を伝えたいと思います。子スレッドで約100kの文字列を解析して、Html.fromHtml() 。TextView(setText)で大きなスパン済みオブジェクトを処理する

メインスレッドに戻るときの問題は、別のスレッドで作成されたばかりのSpannedを使用してsetTextを使用しようとすると、スパンドオブジェクトから表示可能なフォーマット(setText)に処理するのにかなりの時間がかかります。

私は通常これを子スレッドで処理しますが、残念なことに、これはUIに関連しているので、私はできません - メインスレッド上にある必要があります。ですから、私の質問は、スパンドをsetTextで簡単に解釈できるものに処理する方法があるかどうかです。そのため、子スレッドが終了した後に主スレッドが処理するのに多くの時間を費やさないようにします。

testQuestionsExplanations.setText(spannedExplanationsObj); 

私の最大の問題は、これを実行するメインスレッドをロックすることです。

答えて

1

私の問題の回避策が見つかりました。

Spannedオブジェクト全体を送信してTextViewにまとめて処理するのではなく、より小さな部分を送信してTextViewに追加するだけです。

この方法では、私のProgressDialogは完全にロックされません - それはジャークですが、全く動かないよりも優れています。

関連する問題