2013-12-08 31 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文件。

谢谢