首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在解编组时找不到的类: com.startapp.android.publish.banner.banner3d.Banner3D$SavedState?

在解编组时找不到的类: com.startapp.android.publish.banner.banner3d.Banner3D$SavedState?
EN

Stack Overflow用户
提问于 2013-12-08 20:28:40
回答 1查看 1.2K关注 0票数 1

我使用的是来自StartApp的横幅广告,这给了我标题的例外。

activity_main.xml

代码语言:javascript
复制
<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

代码语言:javascript
复制
<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

代码语言:javascript
复制
    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

代码语言:javascript
复制
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

代码语言:javascript
复制
    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中,按下'Home‘键(以便该应用程序保存其状态)退出我的应用程序,然后在运行其他应用程序(以便在应用程序的MainActivity中执行protected void onDestroy() )之后,在稍后阶段返回。Fragment1 PageTabStrip恢复正常,但是当我滑动到Fragment2 PageTabStrip时,我的应用程序会崩溃,下面的例外情况如下。

同样的事情发生在Fragment3 PageTabStrip,按下'Home‘键离开我的应用程序,稍后再回来。Fragment3 PageTabStrip恢复正常,但当我滑动到Fragment2 PageTabStrip时,我的应用程序会崩溃,例外情况如下。

在解编组时找不到:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2013-12-09 09:16:55

我是StartApp的Miki。

由于我们从未遇到过您所遇到的问题,为了使我们能够进一步调查并帮助您解决问题,请通过在我们的开发人员门户中打开支持票或向support@startapp.com发送电子邮件来与我们的支持团队联系。也请附上您的项目源代码或apk文件。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20458645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档