Анимация hasStarted () или hasEnded () не работает - PullRequest
0 голосов
/ 02 декабря 2011

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

У меня есть анимация вращения, которая загружается из макета и работает отлично, плавно и быстро, но когда я вызываю оператор if с hasStarted() или hasEnded(), ничего не происходит.

Вот код:

public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v==boton){
    int r;
    Random n = new Random();
    r=n.nextInt(ncategorias);
    Animation rotacion = AnimationUtils.loadAnimation(v.getContext(), R.anim.rotar);
    boton.startAnimation(rotacion);
    if(rotacion.hasEnded()) {
      categoria.setText(categorias[r]);
    }
    lista.PrimerNodo = lista.PrimerNodo.siguiente;
    hola=lista.PrimerNodo.datos.toString();
    vistajuego.setText(hola);
    }
}

Любая помощь будет очень полезной!Спасибо!

1 Ответ

2 голосов
/ 02 декабря 2011

Это потому, что вы запускаете анимацию и сразу проверяете, закончилась ли анимация, что сомнительно, если она просто ничего не делает.То, что вы хотите сделать, это реализовать обратный вызов AnimationListener и установить его для этой анимации, предполагая, что вы хотите установить этот текст сразу после завершения анимации.

...