调用动画的.xml文件时,Android应用程序崩溃

时间:2011-11-03 22:21:14

标签: android

我有一个名为“fadein.xml”的简单.xml文件来为图像设置动画...

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">


    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0" 
        duration="2000"/>

</set>

以下是我从主java类中引用此动画文件的方式......

    ImageView logo;
    Animation myFadeInAnimation;

    logo = (ImageView) findViewById(R.id.logoImage);
    myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
    logo.startAnimation(myFadeInAnimation);

然而,每当这部分应该运行时,我的应用程序崩溃了......有人可以在这里建议我做错了吗?提前谢谢!

修改

这是logcat日志......

11-03 22:26:37.579: ERROR/AndroidRuntime(1558): FATAL EXCEPTION: main
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloandroid2/com.example.helloandroid2.SplashScreen}: java.lang.NullPointerException
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread.access$500(ActivityThread.java:122)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.os.Looper.loop(Looper.java:132)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread.main(ActivityThread.java:4123)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at java.lang.reflect.Method.invokeNative(Native Method)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at java.lang.reflect.Method.invoke(Method.java:491)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at dalvik.system.NativeStart.main(Native Method)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): Caused by: java.lang.NullPointerException
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at com.example.helloandroid2.SplashScreen.onCreate(SplashScreen.java:28)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.Activity.performCreate(Activity.java:4397)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558):     ... 11 more

1 个答案:

答案 0 :(得分:0)

我遇到了您遇到的同样问题。我刚刚使用了一种方法,可以在需要的时候使用这种方法在类中的任何地方调用动画:

public void animate(X a){

Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
a.startAnimation(myFadeAnimation);
}

//其中X是您要为{@ 1}}设置动画的类型,适用于想要设置动画的imageViews,buttons,textView等android小部件。要调用它,只需键入类似方法View。希望它适合你的情况!

不要忘记删除上面的所有动画声明。这种方法可以完成所有工作。 :d

相关问题