如何以编程方式刷新TextView中的文本?

时间:2011-11-01 19:56:08

标签: java android

我有以下计时器:

Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        --mTimer;
        mTimeLeft.setText(String.valueOf(mTimer));
    }

}, 0, 1000);

当我触摸屏幕时,TextView中的文字会发生变化。

如何以编程方式刷新TextView

4 个答案:

答案 0 :(得分:3)

我认为这篇文章会对你有所帮助。 http://android-developers.blogspot.com/2007/11/stitch-in-time.html 基本上你想使用SDK中提供的Handler类。您不应该像其他人建议的那样调用invalidate,因为setText会为您执行此操作。 希望这有帮助!

答案 1 :(得分:2)

应该从主线程更新UI。看看更接近你想要的this example

答案 2 :(得分:0)

    TextView yourTextView =(TextView)findViewById(R.id.your_text_view_ID);
    yourTextView.setText("your text");

答案 3 :(得分:0)

如果没有变化,请尝试拨打invalidate。另外,确保从UI线程调用,如果没有,则使用post方法发送将在UI线程中执行的runnable(可以更改文本。)