每3秒更新一次TextView值

时间:2012-07-30 10:41:56

标签: java android textview

我是一名PHP开发人员,不熟悉Android开发和Java,所以请耐心等待。

我正在开发一个非常简单的应用程序,用于测试和学习目的。

当用户点击我的应用图标时,会显示一个加载屏幕。我有一个带有进度条的TextView。

TextView XML代码:

<TextView
        android:id="@+id/loadingMessage1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/progressBar1"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="22dp"
        android:text="@string/loading1" />

该值设置为strings.xml

中的字符串loading1
<string name="loading1">Loading Message 1</string>

在我的loadingscreen.java中,我有:

package com.example.myfirstapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;


public class LoadingScreen extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loading_screen);

        TextView loadingMessage1 = (TextView)this.findViewById(R.id.loadingMessage1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_loading_screen, menu);
        return true;
    }
}

注意我有代码:

TextView loadingMessage1 =(TextView)this.findViewById(R.id.loadingMessage1);

我认为它引用了文本视图。

我想要发生的是,每隔3秒就会出现一条不同的消息。

所以加载消息1 ...(3秒)加载消息2 ...(3秒)加载消息3 ..

加载消息3后,我想要一个按钮来替换进度条。

2 个答案:

答案 0 :(得分:2)

您可以使用Handler类:

final Handler handler = new Handler();
handler.post(new Runnable(){

    @Override
    public void run(){
        // change your text here
        handler.postDelayed(this, 3*1000L);
    }
});

答案 1 :(得分:0)

你可能需要使用一个计时器,它每1秒执行一次。阅读this精彩的android dev博客文章,定期执行使用计时器和处理程序。