首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个接一个的Android文本显示

一个接一个的Android文本显示
EN

Stack Overflow用户
提问于 2021-04-05 06:50:25
回答 1查看 43关注 0票数 0

我试图显示一些文本后,另一个结束,我使用一个处理器与一个开关内的" for ",所以对于每个旋转等待5秒,并打印下一个文本,这是我的理论,但唯一我得到它的程序等待5秒,然后打印所有的文本在同一时间,任何帮助将不胜感激。

代码语言:javascript
运行
复制
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);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-05 09:50:41

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

代码语言:javascript
运行
复制
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);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66946535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档