小编gia*_*doe的帖子

java.lang.InstantiationException:无法实例化类...没有空构造函数

我找到了像我这样的类似问题的主题但是找不到我到目前为止找到的答案.我的应用程序包含一个FragmentActivity托管ViewPagerAdapter(FragmentPagerAdapter的子代)并在每个选项卡中包含一个片段的应用程序.我的ViewPagerAdapter在父活动的OnCreateView函数中实例化

_adapter = new ViewPagerAdapter(getApplicationContext()
                         , getSupportFragmentManager()
                         , numOfTabs
                         , status);
Run Code Online (Sandbox Code Playgroud)

ViewPagerAdapter实现了所需的最少方法 getItem,getCount以及getItemPosition

我getItem为每个位置初始化了一个不同的片段:

    @Override
public Fragment getItem(int position) 
{
    Fragment f = new Fragment();
    Log.d("Adbox",String.format("Inside ViewPagerAdapter.getItem(%s)",position));

    switch(position)
    {
        case 0:
            Log.d("Adbox","All offers  ==");
            f=FragmentAllOffers.newInstance(_context);
            f.setRetainInstance(true);
            break;
        case 1:
            Log.d("Adbox","Nearby offers  ==");
            f=FragmentNearbyOffers.newInstance(_context);
            //f.setRetainInstance(true);
            break;
        case 2:
            Log.d("Adbox","My coupons  ==");
            f=FragmentCoupons.newInstance(_context);
            f.setRetainInstance(true);
            break;
        case 3:
            Log.d("Adbox","Account  ==");
            f=FragmentAccount.newInstance(_context);
            f.setRetainInstance(true);
            //f=LayoutLocal.newInstance(_context);  
            break;
        case 4:
            Log.d("Adbox","Preferences  ==");
            f=FragmentPreferences.newInstance(_context);
            f.setRetainInstance(true);
            break;
        default:
            break; …
Run Code Online (Sandbox Code Playgroud)

android single-instance fragmentpageradapter

4
推荐指数
1
解决办法
1万
查看次数