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

相關問題