首页 > 解决方案 > error adding viewpager in fragment

问题描述

I have added viewpager to my fragment file but it is showing me error

Error:(42, 9) error: unreachable statement

in line layoutInflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); but i have declared all the things properly i dont know why this error is coming up

 package com.android.msahakyan.expandablenavigationdrawer.fragment;

    import android.content.Context;
    import android.support.annotation.NonNull;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;

import com.android.msahakyan.expandablenavigationdrawer.R;

/**
 * Created by tanis on 15-06-2018.
 */

class ViewPagerAdapter extends PagerAdapter {
    private Context context;
    private LayoutInflater layoutInflater;
    private Integer [] images = {R.drawable.bg1,R.drawable.bg2,R.drawable.index,R.drawable.bg4,R.drawable.bg5};


    public ViewPagerAdapter(Context context) {
        this.context = context;
    }


    public int getCount() {
        return images.length;
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

    @NonNull
    @Override

    }public Object instantiateItem(@NonNull ViewGroup container, int position) {
        return super.instantiateItem( container, position );
        layoutInflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
        View view = layoutInflater.inflate(R.layout.custom_layout, null);
        ImageView imageView = (ImageView) view.findViewById( R.id.imageView );
        imageView.setImageResource( images[position] );
        ViewPager vp = (ViewPager) container;
        vp.addView( view, 0 );
        return view;

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        super.destroyItem( container, position, object );
        ViewPager vp = (ViewPager) container;
        View view = (View) object;
        vp.removeView( view );
    }
}

标签: androidandroid-fragmentsandroid-viewpager

解决方案


消除 return super.instantiateItem( container, position );

public Object instantiateItem(@NonNull ViewGroup container, int position)方法

示例代码

public Object instantiateItem(@NonNull ViewGroup container, int position) {
        layoutInflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
        View view = layoutInflater.inflate(R.layout.custom_layout, null);
        ImageView imageView = (ImageView) view.findViewById( R.id.imageView );
        imageView.setImageResource( images[position] );
        ViewPager vp = (ViewPager) container;
        vp.addView( view, 0 );
        return view;
}

推荐阅读