Das ist ein sehr dummer Compiler-Fehler, und ich frage mich, ob es eine einfache Möglichkeit gibt, es zu unterdrücken (wie mit einer Anmerkung)?Erwartete Ressource vom Typ anim bei Verwendung des ternären Operators
Der Fehler tritt beim 2. Argument von setCustomAnimations()
auf. Der Fehler lautet: Expected resource of type anim
.
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
int exit_animation = current_popup == null ? 0 : current_popup.getExitAnimation();
transaction.setCustomAnimations(fragment.getEnterAnimation(), exit_animation); //ERROR
Wenn ich die Ternärlinie zu einem der folgenden erweitern, verschwindet der Fehler.
int exit_animation;
if (current_popup == null)
exit_animation = 0;
else
exit_animation = current_popup.getExitAnimation();
Oder:
int exit_animation = 0;
if (current_popup != null)
exit_animation = current_popup.getExitAnimation();
Ich habe das nicht versucht, aber können Sie die '@ AnimRes' Annotation zu' exit_animation' hinzufügen? Ich weiß nicht, ob das auf lokalen Variablen funktioniert. – CommonsWare
@CommonsWare Perfekt! Genau das, was ich gesucht habe. – Kacy
Wenn Sie eine Chance bekommen, beantworten Sie Ihre eigene Frage und zeigen Sie die Syntax. Freut mich zu hören, dass es funktioniert hat! – CommonsWare