Android 制作动画时的NullPointerException

Android 制作动画时的NullPointerException,android,animation,nullpointerexception,android-viewpager,android-context,Android,Animation,Nullpointerexception,Android Viewpager,Android Context,我的android应用程序中有一个非常恼人的问题,我就是想不出是什么问题 我正在尝试制作一个动画对象,如下所示: Animation anim = AnimationUtils.makeInChildBottomAnimation(Myclass.this); ViewPagerClass d = new ViewPagerClass(); d.showMenu(); 这是LogCat: 01-01 15:25:37.730: E/AndroidRuntime(10277):

我的android应用程序中有一个非常恼人的问题,我就是想不出是什么问题

我正在尝试制作一个动画对象,如下所示:

Animation anim = AnimationUtils.makeInChildBottomAnimation(Myclass.this);
    ViewPagerClass d = new ViewPagerClass();
    d.showMenu();
这是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
中,所以我不明白为什么会出现这个错误。 在这个类中,我声明了一个
ViewPagerAdapter
,并将其设置为xml布局中的
ViewPager
。 在适配器类中,iam检查
ViewPager
中显示的
ImageView
上是否长时间单击。当用户长时间单击时,我调用我要获取错误的类中的静态方法。静态方法依次生成一个新对象,该对象调用非静态方法,如下所示:

Animation anim = AnimationUtils.makeInChildBottomAnimation(Myclass.this);
    ViewPagerClass d = new ViewPagerClass();
    d.showMenu();

showMenu
方法中,我尝试使该动画在
相对动画中淡出,但这就是它失败的地方。

在您的评论之后,您似乎正在实例化
ViewPagerClass
类,它是一个
活动。这样做是不正确的,因为手动实例化的
活动将没有关联的有效
上下文
,并且在尝试使用不存在的
上下文
时会出现异常。活动将由Android系统创建和管理

当用户长时间单击时,我调用我创建的类中的静态方法 我发现了错误。静态方法依次生成一个新对象 调用如下非静态方法:

Animation anim = AnimationUtils.makeInChildBottomAnimation(Myclass.this);
    ViewPagerClass d = new ViewPagerClass();
    d.showMenu();

不要这样做。如果
ViewPagerAdapter
ViewPagerClass
类位于不同的文件中,则修改
ViewPagerAdapter
构造函数,以便向其传递一个
上下文
引用(一个
活动
ViewPagerClass
)是一个
上下文
)并在创建
ViewPagerAdapter
实例时指定
this
ViewPagerClass.this
。然后,您可以使用
ViewPagerAdapter
中的
Context
引用在图像长时间单击时调用
showMenu()
方法。

什么确切地表示
ViewPagerClass
?@Luksprog我有两个类,一个是ViewPagerClass,另一个是ViewPagerAdapter。在viewpagerclass中,我调用setcontentview();viewpageradapter类似于助手类,我从位图数组填充viewpager中的imageview。当有人长时间单击imageview时,我从viewpageradapter类调用ViewPagerClass中的静态方法。在该方法中,我在viewpagerclass中调用一个非静态方法,在该方法中,我尝试制作一个将显示relativelayout的动画。我理解如果这没有多大意义的话,实际上我已经将ViewPagerClass的上下文传递给Adapter类中的构造函数了。我会试试你说的!谢谢非常感谢你!我通过在实例化时将活动上下文传递给适配器来实现它,当我在适配器类中调用static showMenu()时,我传递了从构造函数接收到的上下文。在showMenu()中,我调用了非静态方法,只是再次传递了上下文,并在制作动画时使用了上下文。也许不是很好的编码,但至少它是有效的!