如何解决快速点击View?

How to solve fast click on View?

findViewById(R.id.btn).setOnClickListener(new OnClickListener(){
        public void onClick(View v){
             startActivity(intent);
        }
}

当我快速点击 btn 时,我会调用两次 startActivity。

我发现有些应用没有这个问题,比如新浪微博。 它冻结 activity 直到 startActivity 完成。

如何冻结用户操作util系统操作完成?

在启动 activity

时使用标记 FLAG_ACTIVITY_REORDER_TO_FRONT
    intent = new Intent(this, A.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);

这将只有一个 activity 在堆栈中,多次按下按钮的速度有多快

您可以保留一个布尔值,例如 boolean isToStartActivity;

  findViewById(R.id.btn).setOnClickListener(new OnClickListener(){
    public void onClick(View v){
         if(isToStartActivity){
            isToStartActivity = false
           startActivity(intent);
         }
    }
 }