1.在fragment中写点击事件,当点击图片的时候让它跳转
Intent intent = new Intent(getContext(), Main3Activity.class);
intent.putExtra(“position”,position);
intent.putStringArrayListExtra(“list”,ls);
startActivity(intent);
2.在MainActivity中获取你传过来的值
public class Main3Activity extends AppCompatActivity implements ViewPager.OnPageChangeListener {
private TextView tv;
private ViewPager viewpager;
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
initView();
}
private void initView() {
tv = (TextView) findViewById(R.id.tv);
viewpager = (ViewPager) findViewById(R.id.viewpager);
Intent intent = getIntent();
int position = intent.getIntExtra("position", 0);
list = intent.getStringArrayListExtra("list");
tv.setText(position+1+"/"+ list.size());
ViewPagerAdatper adatper = new ViewPagerAdatper(this, list);
viewpager.setAdapter(adatper);
//viewpager默认显示
viewpager.setCurrentItem(position);
//监听事件
viewpager.addOnPageChangeListener(this);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
tv.setText(position+1+"/"+list.size());
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
3.定义自己的适配器ViewPagerAdatper继承PagerAdapter
public class ViewPagerAdatper extends PagerAdapter {
private Context context;
private ArrayList<String> list;
public ViewPagerAdatper(Context context, ArrayList<String> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
String url = list.get(position);
ImageView photoView = new ImageView(context);
Glide.with(context)
.load("http:"+url)
.into(photoView);
//添加视图
container.addView(photoView);
return photoView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//移除视图
container.removeView((View) object);
}
}