Как увеличить индикатор выполнения при нажатии кнопки? - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу показать индикатор выполнения, удерживая нажатой кнопку.Как только индикатор выполнения завершен, я хочу вызвать функцию.Моя проблема заключается в увеличении индикатора выполнения, пока кнопка удерживается нажатой.Мой подход заключается в том, чтобы получить количество нажатий кнопки в секундах.Затем используйте это время, чтобы сопоставить прогресс.Когда индикатор выполнения будет завершен, я вызову другую функцию.Прямо сейчас 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
        }

1 Ответ

1 голос
/ 23 сентября 2019

Вы должны создать пользовательский индикатор выполнения, который простирается от ProgressBar, как показано ниже:

public MyProgressBar extends ProgressBar
{
   @Override
   public void setProgress(int progress)
   {
       super.setProgress(progress);
       if(progress == this.getMax())
       {
           //invoke a function here
       }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...