2017-05-09 11 views
0

これは非常に愚かなコンパイラエラーです。アノテーションなどの単純な抑制方法があるのでしょうか?3進演算子を使用すると予想されるタイプのリソース

setCustomAnimations()の2番目の引数にエラーが発生します。エラーは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 

3進線を次のいずれかに展開すると、エラーが表示されなくなります。

int exit_animation; 

if (current_popup == null) 
    exit_animation = 0; 
else 
    exit_animation = current_popup.getExitAnimation(); 

または:

int exit_animation = 0; 

if (current_popup != null) 
    exit_animation = current_popup.getExitAnimation(); 
+1

私はこれを試しませんでしたが、 '@ AnimRes'アノテーションを' exit_animation'に追加できますか?それがローカル変数で動作するかどうかはわかりません。 – CommonsWare

+0

@CommonsWare Perfect!まさに私が探していたもの。 – Kacy

+0

チャンスがあれば、あなた自身の質問に答えて構文を表示してください。聞いてうれしい! – CommonsWare

答えて

1

エラーを抑制することを解決するには、次のとおりです。コメント欄でCommonsWareへ

@AnimRes 
int exit_animation = current_popup == null ? 0 : current_popup.getExitAnimation(); 

クレジット。