как заставить код ждать, пока анимация не закончится в android?

У меня есть EditText с android: maxLength = "17" и я использовал кнопки с onClickListener для обновления текста этого EditText, процесс здесь следующий: когда длина текста достигает 16, EditText анимирует влево с расстоянием примерно в один символ, используя TranslateAnimation (0, -15, 0, 0); а затем первый символ EditText удаляется. для этого сначала я вызываю метод для выполнения анимации, а затем вызываю метод для удаления первого символа, как показано ниже

animate ();
removeChar ();

Проблема здесь в том, что перед окончанием анимации персонаж был удален. Это означает, что во время выполнения анимации removeChar () выполняет свои функции, в то время как я хочу, чтобы removeChar () выполняла свои функции после завершения анимации.

когда я искал это в Google, я нашел ответ на использование прослушивателя анимации, но при написании кода в Eclips я не нашел никакого прослушивателя анимации для объекта

методы не имеют ошибок и выполняют свои функции точно так, как я хочу. код для методов показан ниже

 public void animate()
{
                //slide is declared at class level
                slide = new TranslateAnimation(0, -15, 0,0 );   
                slide.setDuration(1250);   
                slide.setFillAfter(true);   
                myEditText.startAnimation(slide);
}


public void removeChar()
{           
    String update="";
    for(int i=1 ; i < myEditText.getText().toString().length() ; i++)
    {
        update=update+input.getText().toString().charAt(i);
    }
    myEditText.setText(update);
}

. Я также пытался использовать приведенный ниже код, чтобы дождаться окончания анимации, но он останавливает приложение.

            animate();
            //slide is declared at class level
            while(!(slide.hasEnded()))
               {
                    // Just waste the time
               }
            removeChar();

я думаю, что приложение останавливается, потому что вся обработка идет, пока цикл и анимация не закончились, и, следовательно, цикл становится бесконечным и вызывает остановку приложения

Я много искал и не нашел подходящего ответа, пожалуйста, помогите мне и Я предпочитаю фрагмент кода или небольшой пример, так как я новичок в Android, пожалуйста, действительно нужна помощь ...

5
задан Umar Qureshi 28 September 2011 в 13:36
поделиться