0

免責事項

プロジェクトとして正しくインポートしNineOldAndroids、プロジェクトの build -ath にも正しく追加しました。

最後に、ObjectAnimator とその他のパッケージを から正しくインポートしましたcom.nineoldandroids.animation

私の目標は、NineOldAndroid を使用して 2 つのフラグメント間でアニメーションを実行することです。私はちょうど例をテストしていましたが、何かが欠けていると思います: ValueAnimator オブジェクトをインスタンス化すると (nineoldandroids.com/ で提案されているように)、実行時にNoClassDefFoundError.

ValueAnimator colorAnim = ObjectAnimator.ofInt(mainFragment, "backgroundColor", 0xFFFF808, 0xFF8080FF);
colorAnim.setDuration(3000);
colorAnim.setRepeatCount(ValueAnimator.INFINITE);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();

例をコピーして貼り付け、フラグメントに適用したところ、実行時に次のようになりました。

06-17 10:20:00.352: E/AndroidRuntime(16548): FATAL EXCEPTION: main 
06-17 10:20:00.352: E/AndroidRuntime(16548): Process: enricopezzini.loginnner, PID: 16548
06-17 10:20:00.352: E/AndroidRuntime(16548): java.lang.NoClassDefFoundError: com.nineoldandroids.animation.ObjectAnimator
06-17 10:20:00.352: E/AndroidRuntime(16548):    at enricopezzini.loginnner.MainActivity.onLoginSuccess(MainActivity.java:59)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at enricopezzini.loginnner.fragments.AuthenticationFragment$1.success(AuthenticationFragment.java:87)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at enricopezzini.loginnner.fragments.AuthenticationFragment$SignIn.onPostExecute(AuthenticationFragment.java:237)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at enricopezzini.loginnner.fragments.AuthenticationFragment$SignIn.onPostExecute(AuthenticationFragment.java:1)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.os.AsyncTask.finish(AsyncTask.java:632)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.os.AsyncTask.access$600(AsyncTask.java:177)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.os.Handler.dispatchMessage(Handler.java:102)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.os.Looper.loop(Looper.java:136)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at android.app.ActivityThread.main(ActivityThread.java:5001)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at java.lang.reflect.Method.invokeNative(Native Method)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at java.lang.reflect.Method.invoke(Method.java:515)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
06-17 10:20:00.352: E/AndroidRuntime(16548):    at dalvik.system.NativeStart.main(Native Method)

どうすればこれを解決できますか?

注目してくれてありがとう。

4

2 に答える 2

0

ビルドパスに追加したかどうかを正しく確認してください。

Android プロジェクト >> プロパティ >> Java ビルド パス ... そこを確認してください

于 2014-12-18T12:41:15.127 に答える