如何在android中使用wait函数?

how to use wait function in android?

首先运行,打开应用程序后应等待1秒并打开导航抽屉,1秒后导航抽屉应关闭

SharedPreferences preferences= PreferenceManager.getDefaultSharedPreferences(this);
    if (!preferences.getBoolean("Man",false))
    {

    // wait 1 second            

     DrawerLayout drawer = (DrawerLayout)  findViewById(R.id.drawer_layout);
        drawer.openDrawer(Gravity.LEFT);

   // wait 1 second

        DrawerLayout drawer = (DrawerLayout)  findViewById(R.id.drawer_layout);
        drawer.openDrawer(Gravity.RIGHT);

        SharedPreferences.Editor editor=preferences.edit();
        editor.putBoolean("Man",true);
        editor.commit();
    }

您可以使用 Handler 递归

boolean firstOpen = false;
public void animateDrawer(){
    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                         if(!firstOpen)
                           {
                             // open your Drawer here
                             firstOpen = true;
                             animateDrawer();
                           }
                           else
                           {
                             // close your Drawer here
                           }
                        }
                    },1000);
//1000 is a 1 second delay
}

您可以使用 CountDown Timer

new CountDownTimer(30000, 1000) {

    public void onTick(long millisUntilFinished) {
        mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
       //here you can have your logic to set text to edittext
    }

    public void onFinish() {
        mTextField.setText("done!");
    }

}.start();

或Post延迟,

final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {
        //Do something after 100ms
        Toast.makeText(c, "check", Toast.LENGTH_SHORT).show();  
        handler.postDelayed(this, 2000);
      }
    }, 1500);

您可以使用Handler在您的代码中实现等待时间

Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                public void run() {
                    // Actions to do after 1 second
                }
            }, 1000);