命令顺序



我写了这个代码

    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    params.screenBrightness = 0.1F;
    getWindow().setAttributes(params);
    SystemClock.sleep(5000);
    TextView Text01 = (TextView) findViewById(R.id.Text1);
    Text01.setText("Hello");

设置屏幕亮度,然后在5秒钟后显示文本。问题是它会等待5秒,然后安卓会调暗屏幕,同时输出文本。为什么它不能按顺序工作?感谢

我的猜测是,代码正在UI线程中运行,这意味着在函数退出之前,任何东西都不会被绘制到UI中。您可能需要设置某种回调来触发将来的文本更改。也许是AsyncTask,其中睡眠发生在后台线程中,UI更改代码发生在onPostExecute中。

最新更新