2012-04-26 38 views
2

我從另一個調用Activity。而第二個負載,我得到java.lang.NoClassDefFoundError - 對於Activity類

java.lang.NoClassDefFoundError 

被調用動作類

public class Entry extends Activity implements ViewPager.OnPageChangeListener { 

ViewPager form; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
.... 
form.setOnPageChangeListener(this); 
... 
} 
} 

如果負載我刪除implements ViewPager.OnPageChangeListenerform.setOnPageChangeListener(this),但這些它拋出

java.lang.NoClassDefFoundError.. 

此代碼是活動完全與ADT16合作,我更新到ADT18並陷入混亂。

+1

你使用任何額外的jar文件嗎? – lrAndroid 2012-04-26 02:31:51

+0

您需要支持鏈接到該項目的支持v4包 – 2012-04-26 02:38:09

+2

嘗試在項目上右鍵單擊,然後選擇Android工具,最後選擇添加支持庫。 – adneal 2012-04-26 03:09:42

回答

2

試試這個:

在項目中創建新的文件夾libs和所有外部JAR文件複製到該文件夾​​。

然後,右鍵單擊ProjectPropertiesJava Build Path。這裏將JAR文件的路徑更改爲libs文件夾,並刪除從計算機路徑中提供的extrenal jar文件的路徑。之後它會起作用。

注意: *如果您的項目中已經有文件夾「lib」,那麼只需將文件夾名稱「lib」更改爲「libs」。如果你沒有得到我的觀點,然後檢查這一site

文件夾的名稱應該是libsLibs

1

ViewPager.OnPageChangeListener類是從版本4(冰淇淋三明治)庫。你的項目沒有找到它們,所以沒有正確配置。首先要檢查的是「項目設置」 - > Android,並確保爲項目構建目標檢查4.0或4.0.3。

有時候,即使你有這些選擇之一,日食仍然使用舊的庫。這兩個地方檢查有:

  1. 的AndroidManifest.xml文件。請務必在主清單有android:versionCode="4",並<uses-sdk android:minSdkVersion="14" />(至少14)

  2. 然後檢查你的project.properties文件,確保您有:target=android-14

還有由包括support-v4.jar文件在libs目錄添加額外的4.0功能,舊平臺的方式。

一個以上選項應該可以解決你的問題。祝你好運!

0

我有第二堂課,需要一個罐子。我檢查了libs文件夾,發現這個jar沒有複製到libs文件夾。因此,每當我嘗試啓動第二個活動時,它都會給我NoClassDefFoundError。只是將該jar複製到libs文件夾中,問題就解決了。

相關問題