0

免责声明

我将正确导入NineOldAndroids为项目,并将其正确添加到我的项目的 build -ath 中。

最后,我从com.nineoldandroids.animation.

我的目标是使用 NineOldAndroids 在两个片段之间执行动画。我只是在测试这个例子,但我认为我遗漏了一些东西:当我实例化 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 回答
0

你确定你的导入是正确的:com.nineoldandroids.animation 并且你没有使用来自 android sdk 的 ObjectAnimator?

你如何声明你的依赖?

dependencies {
    compile 'com.nineoldandroids:library:2.4.0'
}

如果您运行 proguard,请确保您没有删除 Nineolandroids 的规则

于 2014-12-18T12:16:52.787 回答