资讯专栏INFORMATION COLUMN

安卓开发笔记(二十五):ViewPager的使用

syoya / 3019人阅读

摘要:我这里一共引入了三个界面,三个布局的我都会写的。这个是的适配器,和所需要的适配器差不多是我们创建的新类。第一个第二个第三个得解,就这么简单。我真是不知道其他博主为啥不把代码写全,尤其是每个的布局,连说都不说下有三个布局,真实让人头大。

  • 首先我们来看看运行之后的效果:

然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的。我这里一共引入了三个界面,三个布局的xml我都会写的。

 

1.MainActivity.java

import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    private ViewPager vpager_one;
    private ArrayList aList;
    private MyPagerAdapter mAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        vpager_one = (ViewPager) findViewById(R.id.vpager_one);

        aList = new ArrayList();
        LayoutInflater li = getLayoutInflater();
        aList.add(li.inflate(R.layout.view_one,null,false));
        aList.add(li.inflate(R.layout.view_two,null,false));
        aList.add(li.inflate(R.layout.view_three,null,false));
        mAdapter = new MyPagerAdapter(aList);
        vpager_one.setAdapter(mAdapter);
    }
}

2.MypagerAdapter.java

这个是ViewPager的适配器,和listview所需要的适配器差不多,是我们创建的新类。

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;

public class MyPagerAdapter extends PagerAdapter {

    private ArrayList viewLists;

    public MyPagerAdapter() {
    }

    public MyPagerAdapter(ArrayList viewLists) {
        super();
        this.viewLists = viewLists;
    }

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

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

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

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

3.activity_main.xml





    

4.view_one




    

5.view_two




    

6.view_three




    

得解,就这么简单。我真是不知道其他博主为啥不把代码写全,尤其是每个viewpager的布局,连说都不说下有三个布局,真实让人头大。

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2340.html

相关文章

  • 全国计算机等级考试二级Python(2021年9月)备考笔记 第十二天

    摘要:本题目的考察点在于函数的格式输出规则。方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。参数改变随机数生成器的种子。返回一个至区间包含和的整数。 ...

    Codeing_ls 评论0 收藏0
  • 重学前端学习笔记十五)--CSS正常流

    摘要:一正常流的行为正常流的排版行为依次排列,排不下了换行。在正常流基础上,有相关规则,使得一些盒占据了正常流需要的空间,可以把理解为文字环绕。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专栏学习【原文有winter的语音】,如有侵权请联...

    dcr309duan 评论0 收藏0
  • 重学前端学习笔记十五)--CSS正常流

    摘要:一正常流的行为正常流的排版行为依次排列,排不下了换行。在正常流基础上,有相关规则,使得一些盒占据了正常流需要的空间,可以把理解为文字环绕。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专栏学习【原文有winter的语音】,如有侵权请联...

    snowLu 评论0 收藏0
  • 重学前端学习笔记十五)--CSS正常流

    摘要:一正常流的行为正常流的排版行为依次排列,排不下了换行。在正常流基础上,有相关规则,使得一些盒占据了正常流需要的空间,可以把理解为文字环绕。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专栏学习【原文有winter的语音】,如有侵权请联...

    leap_frog 评论0 收藏0
  • 重学前端学习笔记十五)--CSS正常流

    摘要:一正常流的行为正常流的排版行为依次排列,排不下了换行。在正常流基础上,有相关规则,使得一些盒占据了正常流需要的空间,可以把理解为文字环绕。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专栏学习【原文有winter的语音】,如有侵权请联...

    toddmark 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<