在活动开始后的一段时间内更改文本

齐山·哈立德(Zeeshan Khalid)

我的应用程式中有文字。我希望在应用启动后的一段时间后自动更改它。我需要在某个地方调用一个方法,以便可以自动调用它。我尝试将代码放入onStart()方法中,但是这延迟了我的应用程序的启动,这就是为什么我希望在onStart()方法之后调用我的方法的原因

换句话说,我希望我的应用程序可以开始使用,看到前面的文本,并且在等待了固定的时间(我将使用Thread.sleep(ms))之后,它将更改为其他文本。

我需要提交一个项目。请帮我解决这个问题。谢谢你。

奥尼克

为了使应用程序具有响应性,如有关进程和线程的官方文档中所述,建议不要UI-thread(例如通过调用Thread.sleep()阻塞超过几秒钟的时间。正如提供的文章中所描述的那样,有几种选择可以避免这种情况,其中一种是使用Handler.postDelayed(Runnable, int)带有超时的方法来指示何时应显示新文本:

private static final int TIME_OUT = 1000; // [ms]
private TextView tv;

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

    tv = (TextView) findViewById(R.id.yourTextViewId);
    tv.setText("This is the text to appear when Activity starts up");

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {

            tv.setText("New text to be shown after TIME_OUT");

        }
    }, TIME_OUT);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章