2015-07-07 1 views
0
 public void delay() { //give delay before comp can play 
     Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      startPlay(); 
     } 
     }, 1500); 
    } 

Я сделал игру с девятью кнопками, чтобы игрок мог играть против телефона. Каждая из этих кнопок вызывает метод задержки выше, чтобы создать задержку между воспроизведением проигрывателя и когда телефону предоставляется возможность играть, но поскольку я тестирую игру, иногда задержка прекрасна, но иногда я замечаю, что задержка очень короткая, поскольку если вызов метода задержки не был выполнен. Я хотел бы знать, почему это происходит так. Благодарю.Runnable не работает должным образом

ответ

0

Поскольку все ваши кнопки вызывают тот же метод startPlay() после задержки 1500 мс, я не думаю, что вы сможете различать задержку, вызванную отдельными кнопками.

Предположим, у вас есть 2 кнопки, Button1 и Button2 и Button3. Когда нажимается кнопка 1, происходит задержка 1500 мс, а затем сразу (через 1 сек) вы нажимаете кнопку2. Таким образом создается новый обработчик, который снова будет иметь задержку в 1500 мс. Но теперь задержка для Button1 завершена и будет выполняться startPlay(). Теперь этот startPlay() принадлежит Button1, а не Button2. Button2's startPlay() будет вызываться после 500 мс (1500 мс - 1сек).

+0

Дело в том, что я нажимаю кнопку Button1, вызывается вызов метода задержки, который вызывает задержку между нажатием кнопки 1 и временем, когда телефон получает возможность играть. Как только я нажимаю Button1 i, все кнопки неактивны до тех пор, пока телефон не сыграет, и я получаю возможность снова играть снова, как только компьютер сыграет. –

+0

Можете ли вы записать время до и после задержки? Log 'System.currenttimemillis()', когда пользователь нажимает кнопку, а затем снова на метод 'run()'. Разница между двумя журналами должна составлять 1500 мс. Вы также можете зарегистрировать разницу и посмотреть, не отличается ли ее от – Antrromet

+0

код, чтобы отключить другие кнопки! –

 Смежные вопросы

  • Нет связанных вопросов^_^