0

我的 android 应用程序中有一个非常烦人的问题,我就是不知道是什么问题。

我正在尝试制作这样的动画对象:

Animation anim = AnimationUtils.makeInChildBottomAnimation(Myclass.this);

这是 LogCat:

01-01 15:25:37.730: E/AndroidRuntime(10277): FATAL EXCEPTION: main
01-01 15:25:37.730: E/AndroidRuntime(10277): java.lang.NullPointerException
01-01 15:25:37.730: E/AndroidRuntime(10277):    at android.content.ContextWrapper.getResources(ContextWrapper.java:81)
01-01 15:25:37.730: E/AndroidRuntime(10277):    at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:71)
01-01 15:25:37.730: E/AndroidRuntime(10277):    at android.view.animation.AnimationUtils.makeInChildBottomAnimation(AnimationUtils.java:253)

我猜这与获取课程的上下文有关。我也尝试过从 xml 文件加载动画并制作 alhpa 动画,但我在这两个上都得到了 NPE。

我正在打电话setContentView();onCreate所以我不明白为什么我会收到这个错误。在此类中,我声明 aViewPagerAdapter并将其设置为ViewPager我的 xml 布局中的。在适配器类中,iam 检查ImageViewViewPager. 当用户长按时,我会在出现错误的类中调用静态方法。静态方法又会生成一个调用非静态方法的新对象,如下所示:

    ViewPagerClass d = new ViewPagerClass();
    d.showMenu();

在该showMenu方法中,我尝试制作将淡入淡出的动画,RelativeLayout但这就是它失败的地方。

4

1 回答 1

0

根据您的评论,您似乎正在实例化ViewPagerClass一个Activity. 这是不正确的做法,因为Activity手动实例化的将没有有效的Context关联,并且在尝试使用该不存在时会出现异常Context。活动旨在由 Android 系统创建和管理。

当用户长按时,我会在出现错误的类中调用静态方法。静态方法又会生成一个调用非静态方法的新对象,如下所示:

不要这样做。如果ViewPagerAdapterViewPagerClass类位于不同的文件中,则修改ViewPagerAdapter构造函数,以便将Context引用传递给它(an Activity( ViewPagerClass) is a Context)并在创建实例时分配this或分配。然后,您将使用该引用在图像长按上调用该方法。ViewPagerClass.thisViewPagerAdapterContextViewPagerAdaptershowMenu()

于 2013-01-01T18:19:37.247 回答