Android 计时器达到特定时间时显示文本

Android 计时器达到特定时间时显示文本,android,timer,settext,chronometer,Android,Timer,Settext,Chronometer,我正在制作一个应用程序,当你按下按钮时会显示随机的句子,这个过程是完美的,我的部分代码是: botonok.setOnClickListener(new OnClickListener() { public void onClick(View v) { Resources res = getResources(); myString = res.getStringArray(R.array.myArra

我正在制作一个应用程序,当你按下按钮时会显示随机的句子,这个过程是完美的,我的部分代码是:

 botonok.setOnClickListener(new OnClickListener() 
    {
        public void onClick(View v) 
        {
            Resources res = getResources();
            myString = res.getStringArray(R.array.myArray); 
            String a = myString[rgenerator.nextInt(myString.length)];
            TextView elemento1 = (TextView) findViewById(R.id.elemento1);
            elemento1.setText(a);

问题是,我需要这些句子逐渐出现,例如,第一句“elemento1”应该在单击按钮时出现,第二句,半秒后,第三句,一秒后。。我有4个句子,你可以看到,它们来自一个数组


感谢您在课后帮助定义计时器

静态时间; 定时器t=新定时器()

现在像这样编辑你的函数

  botonok.setOnClickListener(new OnClickListener() 
{
    public void onClick(View v) 
    {
        Resources res = getResources();
        myString = res.getStringArray(R.array.myArray); 
        String a = myString[rgenerator.nextInt(myString.length)];
        time=1;

        t.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {

            runOnUiThread(new Runnable() {


                public void run() {
        TextView elemento1 = (TextView) findViewById(R.id.elemento1);
        if(time==0||time==2||time==4||time==6)
        elemento1.setText(a);
        time=time+1;
        }
                }

            });

        }
    }, 100, 1000);

谢谢你,我刚刚写了你的代码,它工作了!!我必须做一些更改,因为有更多的textView,我的代码如下:

botonok.setOnClickListener(new OnClickListener() 
    {
        public void onClick(View v) 
        {
time=1; 
            t.scheduleAtFixedRate(new TimerTask() {
                public void run() {
                    runOnUiThread(new Runnable() {
                        public void run() {
                            if(time==2){
                      Resources res = getResources();
         myString = res.getStringArray(R.array.myArray);    
         String a = myString[rgenerator.nextInt(myString.length)];          
     TextView elemento1 = (TextView) findViewById(R.id.elemento1);
            elemento1.setText(a);
                            }
                            //
                        if(time==4){
                      Resources res = getResources();
          myString = res.getStringArray(R.array.myArray2); 
         String b = myString[rgenerator.nextInt(myString.length)];
     TextView elemento2 = (TextView) findViewById(R.id.elemento2);
            elemento2.setText(b);
//这里我为(elemento3和elemento4)编写了相同的过程 //然后我写最后一行:

}time=time+1; 
                        }
                    });
        }
}, 100, 1000)   ;
            ;}
});}}

但是,有一个小错误,我第一次触摸botton时,时间是2,4,6,8,但每次我触摸它,它都会变快,我写了一个条件“countTouch++”,但它不起作用:(

谢谢你,我写了你的代码,它工作了!!我必须做一些更改,请阅读我的答案。.谢谢你的赞赏!如果你能详细说明你说的更快是什么意思,那么我可能会帮助你,这个代码很好,但是每次我按下按钮,时间都会变短,第一次是(2,4,6,8),sencod时间是(1/2,1,1/2,2)一直到我差不多在同一时间得到它们…我不知道为什么。。