一个接一个地显示文本 Android

Displaying text one after another Android

我试图在另一个结束后显示一些文本,我使用一个带有“for”内开关的处理程序,因此每次旋转等待 5 秒并打印下一个文本,这就是我的理论,但我唯一得到的它的程序等待 5 秒,然后同时打印所有文本,我们将不胜感激。

for (int i = 0; i < 4; i++) {
    int finalI = i;
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            switch (finalI){
                case 0: twChoice1.animateText("text 1"); break;
                case 1: twChoice2.animateText("text 2"); break;
                case 2: twChoice3.animateText("text 3"); break;
                case 3: twChoice4.animateText("text 4"); break;
            }

        }
    }, 5000);
}

您必须使用 Timer 和 TimerTask(导入这两个)。

private int messageIndex = 0;
private TextView[] txtViewsArray = {twChoice1, twChoice2, twChoice3, twChoice4};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    displayMessages();
}

private void displayMessages() {
    Timer timer = new Timer();

    TimerTask timerTask = new TimerTask() {
        public void run() {
            if (index >= txtViewsArray.length) messageIndex = 0;
            txtViewsArray[messageIndex].animateText("text" + (messageIndex + 1).toString());
            messageIndex++;
        }
    };

    timer.schedule(timerTask, 0, 5000);
}