ViewPage实现轮播图

xiaoxiao2025-04-18  15

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); }

}

转载请注明原文地址: https://www.6miu.com/read-5028569.html

最新回复(0)