手记

2018-02-05 学习日记 第一篇

主要为了记录自己的学习成果,复盘学习的内容,免得第二天自己写了什么都忘了。

今天主要做了一个ViewPager的demo,写了一个适配器。

public class ImagePagerAdapter extends PagerAdapter {

    private Context mContent;
    private ArrayList<ImageView> mViewList=new ArrayList<ImageView>();
    private ArrayList<GoodsInfo> mGoodsList=new ArrayList<GoodsInfo>();

    public ImagePagerAdapter(Context mContent, ArrayList<GoodsInfo> mGoodsList) {
        this.mContent = mContent;
        this.mGoodsList = mGoodsList;

        for(int i=0;i<mGoodsList.size();i++){
            ImageView view=new ImageView(mContent);
            view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
            view.setImageResource(mGoodsList.get(i).pic);
            view.setScaleType(ImageView.ScaleType.FIT_CENTER);
            mViewList.add(view);
        }
    }

    @Override
    public int getCount() {
        return mViewList.size();
    }

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

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(mViewList.get(position));
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
         container.addView(mViewList.get(position));

         return mViewList.get(position);
    }
}


1,主要注意setLayoutParams的写法。
在Activity下加载,写一个监听事件。
public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {

    private ArrayList<GoodsInfo> mgoodsList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ViewPager vp_content=findViewById(R.id.vp_content);
        mgoodsList=GoodsInfo.getDefaultList();
        ImagePagerAdapter adapter=new ImagePagerAdapter(this,mgoodsList);
        vp_content.setAdapter(adapter);
        vp_content.setCurrentItem(0);
        vp_content.addOnPageChangeListener(this);
    }

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {
        Toast.makeText(this,"你选择的手机是"+mgoodsList.get(position).name,Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onPageScrollStateChanged(int state) {

    }
}

原文链接:http://www.apkbus.com/blog-946024-77003.html

0人推荐
随时随地看视频
慕课网APP