当前位置: 移动技术网 > 移动技术>移动开发>Android > ViewPager初体验

ViewPager初体验

2018年08月07日  | 移动技术网移动技术  | 我要评论

  新手最近写APP的时候需要用到ViewPager控件,但是又不知道是怎么用的,

理论上像我觉得这样的新手是应该学习一下它的原理的,这样才能更好的应用,但是怎么说呢,没经验,

看不太明白,那就用吧,用得多了自然就了解了。

  从网上找来的代码有点千篇一律,这也是现在很恶劣的地方,重复的代码被各种人发来发去的,我自己整理了一下

自己实现的代码,我觉得很适合小白,因为我自己就是一个小白新手。

 

首先新建一个窗体(或者叫页面?小白自学安卓还真的对基础一无所知)

 

然后在ViewPager所在的Activity(我这里是MainActivity) ,AppCompatActivity之后,大括号之前 加上  implements  刚才建立的窗体名.OnFragmentInteractionListener

 

public class MainActivity extends AppCompatActivity implements MyFragment.OnFragmentInteractionListener {}

 

这个时候会出现红线,光标移到 MyFragment 上,ALT+Enter  添加无参的 onFragmentInteraction ()方法

 

  @Override
    public void onFragmentInteraction(Uri uri) {

    }

 

然后就是适配器了

 

 ArrayList<MyFragment> s=new ArrayList<>(); //写在方法外
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        s.add(MyFragment.newInstance("1","1"));
        s.add(MyFragment.newInstance("2","2"));
        s.add(MyFragment.newInstance("3","3"));  
        ViewPager viewPager=findViewById(R.id.ppp);
        FragmentPagerAdapter adapter=new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                return s.get(position); //当前选中的索引
            }
            @Override
            public int getCount() {
                return s.size(); //集合大小
            }
        };
        viewPager.setAdapter(adapter);  //设置十适配器
    }

 

这个我自己遇到了s.get(position) 报红的问题,返回值类型不同,因为adapter需要的返回值是

 android.support.v4.app.FragmentPagerAdapter  这个包里的,但是自己创建的那个窗体继承的
Fragment 是来自于
android.support.v4.app.Fragment;这个包的

所以在 MyFragment 中 更改一下
public class MyFragment extends Fragment {}

->>

public class MyFragment extends android.support.v4.app.Fragment {}

 

到这就算是结束了,一个老师曾经告诉我,如果你对一个东西不熟悉,那可以再学习时候写一个博客试试,如果你能让别人看你的博客也学会了这种写法,那么就说明你确实会了,

第一次写这些东西,我的安卓水平属于初学者,有所不足是肯定的,希望路过这里的你,能够帮助我斧正,多多点评,谢谢.

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网