Sleep() in Android Java

2022-09-01 13:42:26

我正在按照本教程在我的程序中有一个加载屏幕。教程说我的活动应该使用Sleep()命令,但是它没有将Sleep()识别为函数,并给我提供了一个错误,询问我是否要创建一个名为Sleep()的方法。

下面是代码示例:

public class LoadingScreenActivity extends Activity {

    //Introduce an delay
    private final int WAIT_TIME = 2500;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        System.out.println("LoadingScreenActivity screen started");

        setContentView(R.layout.loading_screen);
        findViewById(R.id.mainSpinner1).setVisibility(View.VISIBLE);

        new Handler().postDelayed(new Runnable(){ 

            @Override 
            public void run() {

                //Simulating a long running task
                this.Sleep(1000);
                System.out.println("Going to Profile Data");

                /* Create an Intent that will start the ProfileData-Activity. */
                Intent mainIntent = new Intent(LoadingScreenActivity.this,ProfileData.class); 
                LoadingScreenActivity.this.startActivity(mainIntent);
                LoadingScreenActivity.this.finish(); 
            } 
        }, WAIT_TIME);
    }
}

答案 1

您可以使用以下方法之一:

Thread.sleep(timeInMills);

SystemClock.sleep(timeInMills);

SystemClock.sleep(milliseconds)是一个与 非常相似的效用函数,但它忽略了 。如果不使用 ,则将此函数用于延迟,因为它将保留线程的中断状态。Thread.sleep(milliseconds)InterruptedExceptionThread.interrupt()


答案 2

该函数是 Thread.sleep(long)

但请注意,不应在 UI 线程上执行睡眠。