Отключить клики айтемов RyclerView на 3 секунды

158
29 мая 2018, 00:20

Есть 4 айтема RecyclerView клик реализовал по LinerLayout, если юзер нажмет на один из айтемов, нужно чтобы в течение 3 секунд клики у всех айтемов отключились, как быть?

UPD

Клик айтема из адаптера RecyclerView

holder.linearClick.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            // code
        }
    });

Мне именно в этот клик нужно установить отключение айтемов на 3 секунды. Я сделал простое .setEnabled(false) и кликнутый клик неактивен, но зато активны остальные 3. Мне нужно весь массив отключить в адаптере ресайкла

Answer 1

Завести поле для сохранения времени нажатия и при клике сравнивать с текущим временем:

private long mLastClickedTime;
-----------------------------
    public void onClick(View v) {
         long current = System.currentTimeMillis();
         if ((current - mLastClickedTime) < 3000L)
             return;
         mLastClickedTime = current;
         // some code
    }
Answer 2

Можно с CountDownTimer сделать

 ViewHolder.disableClick()
 new CountDownTimer(3000, 3000) {
 public void onTick(long millisUntilFinished) {
 }
 public void onFinish() {
     ViewHolder.enableClick()
 }
 }.start();
READ ALSO
Why I get NullPointerException? [закрыт]

Why I get NullPointerException? [закрыт]

This is my backend method:

211
Парсинг строки (Java)

Парсинг строки (Java)

Добры день! Нужно написать метод, который будет делить строку на массив строк по разделителю точка, а затем поместить разделенные строки...

202
Java nio select() не блокирует поток

Java nio select() не блокирует поток

Есть сервер (однопоточный nio) работающий с клиентами, все работает корректно кроме того, что после первого ответа клиенту метод select перестает...

183
Одинаковые слова в предложении

Одинаковые слова в предложении

Как найти одинаковые слова в предложении и вывести эти предложения? Есть идея вначале, получить предложения:

185