1

我在 android 的 foreach/for 循环中实现了一个计时器。有一个TextFieldor TextView(我不知道要使用哪个)每 30ms 填充一个字符串数组中的下一个字符串:

String[] faces = retrieve_pattern().split("\"");

我需要帮助来实现这一点。

编辑:鲍里斯,你的例子有效,但它打印出所有的字符串,但我只需要显示一个字符串,并在“一段时间”删除它并显示下一个,直到我到达结尾。TextField 中的一种文本动画。

我已经尝试过 TimerTask,但无法让它工作。

4

1 回答 1

0

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

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));
   }
}

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

于 2013-04-09T19:38:54.123 回答