【问题标题】:android code to click button multiple times using for loopandroid代码使用for循环多次单击按钮
【发布时间】:2015-12-11 18:34:41
【问题描述】:

当用户单击 1 次时,任何 1 都可以给我示例以多次执行 onClick on 按钮。当我单击按钮 1 次时,它应该在延迟 5 秒后自动单击 100 次。如何执行。 这是我的示例代码

mUnlock.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //It should be already ensured that this mSelectedLock is something user is authorized to access
                    if (mSelectedLock.unlock("RANDOM")) {
                        mUnlock.setVisibility(View.INVISIBLE);
                        mUnlock.postDelayed(new Runnable() {
                            public void run() {
                                mUnlock.setVisibility(View.VISIBLE);

                            }
                        }, 5000);


                    } else {
                        Toast.makeText(MainActivity.this, "Unable to unlock.", Toast.LENGTH_LONG).show();
                    }
                }
            });

【问题讨论】:

  • 使用句柄延迟并禁用按钮点击
  • button.performClick();
  • 我可以禁用按钮。但我需要执行 100 次 onclick 操作
  • 您无法在另一个线程中访问 UI 元素 ....

标签: android onclick buttonclick


【解决方案1】:

@覆盖 public void onClick(View v) {actionToBeDone();startLoop(0);}

private void startLoop(final int i) {
    if(i!=100) {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Log.e("i",""+i);
                actionToBeDone();
                startLoop(i+1);
            }
        }, 2000);
    }
}

private void actionToBeDone() {
    //enter actions you want to be done
    Log.e("actionToBeDone","Button Action");
}

【讨论】:

  • 在你的 onclick 中调用这两个函数
  • 让它变成 5000 而不是 2000
【解决方案2】:
int count = 0;    
Timer timer = new Timer();
timer.schedule(new TimerTask(){
   @Override
   public void run(){
      if(count < 100){
          mUnlock.performClick();
      }
   }
}, 0, 5000);

5000 是以毫秒为单位的时间,您可以从这里开始 +/-。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2022-01-18
    • 2016-08-14
    • 1970-01-01
    相关资源
    最近更新 更多