0

我在我的android应用程序中遇到了一个非常烦人的问题,我无法弄清楚问题所在。制作动画时出现NullPointerException

我试图做一个动画对象是这样的:

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所以我只是不知道为什么我得到这个错误。 在这个类中,我声明ViewPagerAdapter并将其设置为ViewPager在我的xml布局。 在适配器类iam中检查在ViewPager中显示的ImageView的长点击。当用户长点击我称之为我正在错误的类中的静态方法反过来静态方法使一个新的对象调用这样的非静态方法:

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

showMenu方法我尝试使这个动画在RelativeLayout中淡出,但这是失败的原因。

+0

究竟代表什么'ViewPagerClass'? – Luksprog

+0

@Luksprog我有两个类,一个是ViewPagerClass,另一个是ViewPagerAdapter。在viewpagerclass中,我调用setcontentview();和viewpageradapter就像帮助类,其中我从位图数组中填充viewpager中的imageview。当某人长时间点击imageview时,我会从viewpageradapter类中调用ViewPagerClass中的静态方法。在那种方法中,我调用viewpager类中的非静态方法,我尝试制作一个动画,它将显示一个相关布局。我明白,如果这没有多大意义 – fillevoss

回答

0

看到您的评论,它似乎你正在实例化ViewPagerClass类是Activity。这是不正确的事情,因为Activity手动实例化将不会有一个有效的Context关联,当您尝试使用不存在的Context时,您会遇到异常。活动旨在由Android系统创建和管理。

当用户长点击我称之为我 正在错误的类中的静态方法反过来静态方法使一个新的对象 调用非静态方法是这样的:

不要这样做。如果ViewPagerAdapterViewPagerClass类在不同的文件,然后修改ViewPagerAdapter构造函数,因此你传递一个Context引用(一个ActivityViewPagerClass)是Context),并指定thisViewPagerClass.this当您创建ViewPagerAdapter实例。然后,您将使用ViewPagerAdapter中的Context参考号在图片长按上调用showMenu()方法。

+0

实际上,我已经将ViewPagerClass的上下文传递给Adapter-class中的构造函数。我会尝试你所说的!谢谢! – fillevoss

+0

非常感谢!我在实例化时通过将Activity上下文传递给适配器,并在适配器类中调用静态showMenu()时传递了我从构造函数接收的上下文,从而得到它的工作。在showMenu()中,我调用了非静态方法,然后再次传递上下文,并在做动画时使用它。可能不是很好的编码,但至少可以工作! – fillevoss

相关问题