Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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 Android中带计时器的Foreach字符串[]_Java_Android_Loops_Android Intent_Timer - Fatal编程技术网

Java Android中带计时器的Foreach字符串[]

Java Android中带计时器的Foreach字符串[],java,android,loops,android-intent,timer,Java,Android,Loops,Android Intent,Timer,我在android中的foreach/for循环中实现了一个计时器。我不知道该使用哪个TextField或TextView,它每隔30毫秒填充一个字符串数组中的下一个字符串: String[] faces = retrieve_pattern().split("\""); 我需要帮助实现这一点 编辑: Boris,你的例子很有效,但是它打印出了所有的字符串,但是我只需要显示一个字符串,过一段时间删除它,然后显示下一个字符串,直到结束。在TextField中有一种文本动画 我尝试过TimerTa

我在android中的foreach/for循环中实现了一个计时器。我不知道该使用哪个TextField或TextView,它每隔30毫秒填充一个字符串数组中的下一个字符串:

String[] faces = retrieve_pattern().split("\"");
我需要帮助实现这一点

编辑: Boris,你的例子很有效,但是它打印出了所有的字符串,但是我只需要显示一个字符串,过一段时间删除它,然后显示下一个字符串,直到结束。在TextField中有一种文本动画


我尝试过TimerTask,但无法使其工作。

我认为最合适的方法是使用:


我是用心写的,所以如果遇到任何问题,请写回。

那么您想实现一个例程,每隔30毫秒向TextView添加一个元素,直到添加完所有元素为止?这不是您要做的。使用或将计时器与计时器任务结合使用。采用0毫秒为延时,30毫秒为重复的调度方法。是每30分钟一次,还是每连续30分钟打开一次应用程序?计时器和TimerTask是Java长期存在的坏习惯。在为Android编程时,使用getHandler.postRunnable更好。谢谢Boris,我尝试按照您的建议进行操作,现在出现了以下错误,请参阅“添加编辑错误”。@Jake:您真的在TextView上使用setText吗?如果是这样,新的刺应该取代旧的刺。
public class MyActivity extends Activity {
   private String [] mSplits;
   private int mSplitIndex;
   private Handler updater = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      TextView textView = (TextView)MyActivity.this.findViewById(R.id.text_view);
      String text = mSplits[mSplitIndex++];
      textView.setText(text);
      if (mSplitIndex < mSplits.length) {
        sendEmptyMessageDelayed(0, 30);
      }
    }
   };
   @Override
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test_split);
    updater.sendEmptyMessageDelayed(0, 0));
   }
}