Delay For Loop на определенное время - Android - PullRequest
0 голосов
/ 09 января 2012

Я пытаюсь смоделировать нажатие клавиши, установив для setPressed значение true, а затем через настройку postDelay setPressed для false несколькими тиками позже. Моя проблема в том, что это прекрасно работает, когда применяется один раз, но когда я пытаюсь перебрать список с несколькими элементами, задержки, которые, я считаю, перекрывают друг друга. Итерации слишком быстрые. Я полагаю, что решение будет заключаться в том, чтобы отложить цикл от итерации в течение некоторого периода времени, дольше, чем postDelayed, но у меня также не будет большого успеха в этом.

public void myOnClickListener(View view) {

    switch (view.getId()) {

    case R.id.test:
        //adds two random digits to list
        addRandomDigits(2);

        int size = list.size();
        System.out.println("Size: " + size);
            tmpButton = map.get(list.get(list.size()-1));
            tmpButton.setPressed(true);
            tmpButton.postDelayed(new Runnable() {
                public void run() {
                    tmpButton.setPressed(false);
                }
            }, 200);

        Log.e("**droid", "Droid sequence: " + getArrayListAsString(list));
        break;

Если это решение не кажется наиболее эффективным, логичным и т. Д., Я широко открыт для любых предложений. Заранее спасибо.

1 Ответ

0 голосов
/ 09 января 2012

Вместо цикла я хотел бы предложить вам использовать класс TimerTask для выполнения в определенный период времени.

private class myLoop extends TimerTask
{
       public void run()
       {
           // Place your code here.

           addRandomDigits(2);

           int size = list.size();
           System.out.println("Size: " + size);
           tmpButton = map.get(list.get(list.size()-1));
           tmpButton.setPressed(true);
           tmpButton.setPressed(false);

          Log.e("**droid", "Droid sequence: " + getArrayListAsString(list));
          break;
       }
}

вам нужно сделать вашу tmpButton как статическую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...