1

启动时,我的字幕文本正常工作。然后我想在某个时候更新文本。我在互联网上获取文本并将其设置为 textview:

marqueeText.setText(Html.fromHtml(GetNew.getNews()));

从互联网获取文本没有问题。但随后文本没有滑动。这有什么问题?谢谢你的帮助。

编辑:我在尝试刷新它时得到这个日志。我在一个线程中刷新它。

06-12 10:25:04.403: E/tag(498): Only the original thread that created a view hierarchy can touch its views.
4

4 回答 4

1

您应该使用处理程序来处理 UI 线程。

private Handler handler = new Handler(new Callback() {

        public boolean handleMessage(Message msg) {
            marqueeText.setText(Html.fromHtml(GetNew.getNews()));
            marqueeText.setSelected(true);
            marqueeText.setEllipsize(TruncateAt.MARQUEE);
            return false;
        }
    });

当您想更新线程中的文本时,请使用handler.sendEmptyMessage(0);

于 2012-06-12T10:56:13.737 回答
0

我想你还没有添加活动

 marqueeText.setSelected(true);
于 2012-06-12T10:51:00.727 回答
0

仅当 TextView 处于选中或聚焦状态时,TextView 上的选取框才会滚动

尝试TextView.setEnabled(true) or TextView.requestFocus() or TextView.setSelected(true);

于 2012-06-12T10:54:26.640 回答
0

您不能从 UI 线程以外的线程更新视图。

于 2012-06-12T10:55:42.897 回答