Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每5秒更改一次TextView_Java_Android - Fatal编程技术网

Java 每5秒更改一次TextView

Java 每5秒更改一次TextView,java,android,Java,Android,在my strings.xml中,我有5个带文本的字符串。我希望能够每5秒更改一次TextView的内容 例如: 前5秒,TextView将显示第一个字符串的内容,然后5秒,它将显示第二个字符串。在第五个字符串之后,它将再次显示第一个字符串 很抱歉,这个描述不好,我是Java新手。试试这个: final TextView textView = yourTextView; final int[] array = {R.string.text1, R.string.text2,R.strin

在my strings.xml中,我有5个带文本的字符串。我希望能够每5秒更改一次TextView的内容

例如:

前5秒,TextView将显示第一个字符串的内容,然后5秒,它将显示第二个字符串。在第五个字符串之后,它将再次显示第一个字符串

很抱歉,这个描述不好,我是Java新手。

试试这个:

final TextView textView = yourTextView;
    final int[] array = {R.string.text1, R.string.text2,R.string.text3,R.string.text4,R.string.text5};
    textView.post(new Runnable() {
        int i = 0;
        @Override
        public void run() {
            textView.setText(array[i]);
            i++;
            if (i ==5)
                i = 0;
            textView.postDelayed(this, 5000);
        }
    });
试试这个:

final TextView textView = yourTextView;
    final int[] array = {R.string.text1, R.string.text2,R.string.text3,R.string.text4,R.string.text5};
    textView.post(new Runnable() {
        int i = 0;
        @Override
        public void run() {
            textView.setText(array[i]);
            i++;
            if (i ==5)
                i = 0;
            textView.postDelayed(this, 5000);
        }
    });
有关更多信息,请参见此->

有关更多信息,请参见此->

您可以在此处使用“处理程序”

在onCreate中创建处理程序

     `String[] arr = {R.string.value1, R.string.value2,R.string.value3,R.string.value4,R.string.value5};`
Handler mHandler = new Handler();
现在创建一个线程,并使用while循环使用线程的sleep方法定期执行任务

new Thread(new Runnable() {
    @Override
    public void run() {
        // TODO Auto-generated method stub
        for(int i=0;i<5;i++){
            try {
                Thread.sleep(5000);
                mHandler.post(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                       textView.setText(arr[i])
                    }
                });
            } catch (Exception e) {
                // TODO: handle exception
            }
        }
    }
}).start();
new线程(new Runnable()){
@凌驾
公开募捐{
//TODO自动生成的方法存根
对于(inti=0;i,您可以在本例中使用“Handler”

在onCreate中创建处理程序

     `String[] arr = {R.string.value1, R.string.value2,R.string.value3,R.string.value4,R.string.value5};`
Handler mHandler = new Handler();
现在创建一个线程,并使用while循环使用线程的sleep方法定期执行任务

new Thread(new Runnable() {
    @Override
    public void run() {
        // TODO Auto-generated method stub
        for(int i=0;i<5;i++){
            try {
                Thread.sleep(5000);
                mHandler.post(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                       textView.setText(arr[i])
                    }
                });
            } catch (Exception e) {
                // TODO: handle exception
            }
        }
    }
}).start();
new线程(new Runnable()){
@凌驾
公开募捐{
//TODO自动生成的方法存根

对于(int i=0;i实现时间侦听器。从那里开始是简单的。如果从启动时间开始的时间是5秒的因数,请更改文本。您可能需要一个布尔值来更改状态。实现时间侦听器。从那里开始是简单的。如果从启动时间开始的时间是5秒的因数,请更改文本。您可能需要这是一个用于更改state.THX的布尔值,它可以工作,但我必须将数据类型更改为int。谢谢,实际上你是对的,你也可以使用getString(R.string.text)代替THX,它可以工作,但我必须将数据类型更改为int。谢谢,实际上你是对的,你也可以使用getString(R.string.text)代替