我已将viewpager添加到我的片段文件中,但它显示错误
错误:(42,9)错误:无法访问的语句
in line layoutInflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 但我已经正确地宣布了所有的事情,我不知道为什么会出现这个错误
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 );
}
}
答案 0 :(得分:0)
删除 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;
}
答案 1 :(得分:0)
删除return super.instantiateItem( container, position );
语句,因为它在开始时返回函数instantiateItem()。
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;
}