首页 > 解决方案 > 按下按钮时如何增加进度条?

问题描述

我想在按住按钮的同时显示进度条。进度条完成后,我想调用一个函数。我的问题是在按住按钮时增加进度条。我的方法是以秒为单位获取按下按钮的时间量。然后利用这段时间来关联进度。当进度条完成后,我将调用另一个函数。现在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
        }

标签: android-studiokotlinmaterial-design

解决方案


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

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

推荐阅读