Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 如何在按下按钮时增加进度条?_Android Studio_Kotlin_Material Design - Fatal编程技术网

Android studio 如何在按下按钮时增加进度条?

Android studio 如何在按下按钮时增加进度条?,android-studio,kotlin,material-design,Android Studio,Kotlin,Material Design,我想在按住按钮的同时显示进度条。一旦进度条完成,我想调用一个函数。我的问题是在按下按钮时增加进度条。我的方法是以秒为单位计算按下按钮的时间。然后利用这段时间来关联进度。当进度条完成时,我将调用另一个函数。现在,onLongClickListener只被调用一次。我以为在按下按钮时会不断地调用此命令 btn.setOnLongClickListener { Toast.makeText(context, "Long click detected", Toas

我想在按住按钮的同时显示进度条。一旦进度条完成,我想调用一个函数。我的问题是在按下按钮时增加进度条。我的方法是以秒为单位计算按下按钮的时间。然后利用这段时间来关联进度。当进度条完成时,我将调用另一个函数。现在,
onLongClickListener
只被调用一次。我以为在按下按钮时会不断地调用此命令

        btn.setOnLongClickListener {
            Toast.makeText(context, "Long click detected", Toast.LENGTH_SHORT).show()
            var seconds =  System.currentTimeMillis()
            Log.d(TAG, "seconds: $seconds")
            progressBar.visibility = View.VISIBLE
            true
        }

您应该创建一个自定义进度条,该进度条从ProgressBar扩展而来,如下所示:

public MyProgressBar extends ProgressBar
{
   @Override
   public void setProgress(int progress)
   {
       super.setProgress(progress);
       if(progress == this.getMax())
       {
           //invoke a function here
       }
   }
}

是的,但现在我需要找到一种方法来确定按下按钮的持续时间。这将是你问题的正确答案