2013-12-08 26 views
1

我正在使用來自StartApp的標題廣告,它給了我標題異常。

activity_main.xml中

<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v4.view.PagerTabStrip 
       android:id="@+id/pager_tab_strip" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="top" /> 

</android.support.v4.view.ViewPager> 

我有我使用填充PageTabStrip上述

fragment1_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="@dimen/layout_padding" 
     android:orientation="vertical" > 

    <ListView 
      android:id="@+id/list_fragment1" 
      android:layout_width="match_parent" 
      android:layout_height="0px" 
      android:layout_weight="1" /> 

    <com.startapp.android.publish.banner.Banner 
      android:id="@+id/startAppBanner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" /> 

</LinearLayout> 

fragments2_layout.xml和fragment3_layout三個片段。 XML完全相同作爲fragment1_layout.xml

Fragment1.java

public class Fragment1 extends SherlockFragment 
    { 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
      return inflater.inflate(R.layout.fragment1_layout, container, false); 
     } 
    @Override 
    public void onActivityCreated(Bundle savedInstanceState) 
    { 
       //Initializing list_fragment1 in fragment1_layout.xml here 
    } 
} 

同樣地,我有Fragment2.java和Fragment3.java類

CollectionPagerAdapter.java

class CollectionPagerAdapter extends FragmentStatePagerAdapter 
{ 
    @Override 
    public Fragment getItem(int tabNumber) 
    { 
     Fragment fragment = null; 

     switch(tabNumber) 
     { 
      case 0: fragment = new Fragment1(); 
      break; 

      case 1: fragment = new Fragment2(); 
      break; 

      case 2: fragment = new Fragment3(); 
      break; 
     } 

     return fragment; 
    } 

    @Override 
    public int getCount() 
    { 
     return activity.getResources().getInteger(R.integer.number_of_tabs); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) 
    { 
     //Returning titles here  
    } 
} 

MainActivity.java

public class MainActivity extends SherlockFragmentActivity 
    { 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     //Has to be called before setContentView() method 
     StartAppAd.init(this, getString(R.string.my_startapp_developer_id), getString(R.string.my_apps_startapp_id)); 
     startAppAd = new StartAppAd(this); //For Interstitial Ads 
     setContentView(R.layout.activity_main); 
     CollectionPagerAdapter collectionPagerAdapter = new CollectionPagerAdapter(this, getSupportFragmentManager()); 
    } 

    @Override 
    public void onBackPressed() 
    { 
     startAppAd.onBackPressed(); 
     super.onBackPressed(); 
     Log.d(TAG, "onBackPressed"); 
    } 

    @Override 
    protected void onResume() 
    { 
     super.onResume(); 
     startAppAd.onResume(); //For Interstitial Ads 
     Log.d(TAG, "onResume"); 
    } 

    @Override 
    protected void onPause() 
    { 
     super.onPause(); 
     startAppAd.onPause(); //Makes the Interstitial Ads appear when the user press the 'Home' button on the device 
     Log.d(TAG, "onPause"); 
    } 
} 

當我跑我的應用程序的新鮮即沒有以前保存的狀態。橫幅廣告顯示在那裏各自的PageTabStrip和一切運行良好。

考慮我在Fragement1 PageTabStripe,然後按「主頁」鍵(使應用程序保存其狀態)走出我的應用程序,然後回來給它在後一階段,運行一些其他的後應用程序(以便在我的應用程序的MainActivity中執行protected void onDestroy())。我的應用程序崩潰,下面的例外。我的應用程序崩潰,下面的例外。

同樣的事情發生在我在Fragment3 PageTabStrip時,按'Home'鍵退出我的應用程序並在稍後階段返回。 片段3 PageTabStrip得到正確恢復,但當我滑動到片段2 PageTabStrip,我的應用程序崩潰,但有以下例外。

類解組時未發現:

com.startapp.android.publish.banner.banner3d.Banner3D$SavedState 
java.lang.ClassNotFoundException: com.startapp.android.publish.banner.banner3d.Banner3D$SavedState 
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:251) 
at java.lang.Class.forName(Class.java:216) 
at android.os.Parcel.readParcelableCreator(Parcel.java:2129) 
12-09 at android.os.Parcel.readParcelable(Parcel.java:2093) 
at android.os.Parcel.readValue(Parcel.java:2009) 
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2356) 
at android.os.Parcel.readSparseArray(Parcel.java:1731) 
at android.os.Parcel.readValue(Parcel.java:2066) 
at android.os.Parcel.readArrayMapInternal(Parcel.java:2310) 
at android.os.Bundle.unparcel(Bundle.java:231) 
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1255) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:861) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460) 
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472) 
at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163) 
at android.support.v4.view.ViewPager.populate(ViewPager.java:1068) 
at android.support.v4.view.ViewPager.populate(ViewPager.java:914) 
at android.support.v4.view.ViewPager$3.run(ViewPager.java:244) 
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 
at android.view.Choreographer.doCallbacks(Choreographer.java:562) 
at android.view.Choreographer.doFrame(Choreographer.java:531) 
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 
at android.os.Handler.handleCallback(Handler.java:733) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5095) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NoClassDefFoundError: com/startapp/android/publish/banner/banner3d/Banner3D$SavedState 
... 34 more 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.startapp.android.publish.banner.banner3d.Banner3D$SavedState" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 
... 34 more 

回答

0

我從三木的startApp。
由於我們從未遇到過您遇到的問題,爲了讓我們能夠進一步調查並幫助您解決問題,請通過在我們的開發人員門戶中打開支持憑單或向我們發送支持憑證發送電子郵件至[email protected]。請附上您的項目源代碼或apk文件。

謝謝