在学习的过程中遇到了ViewPager所以写下这博文等到以后复习使用。同时也给大家提供一点建议
首先我们在看一下主页面的布局
<android.support.v4.view.ViewPager
android:id="@+id/ViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
那接下我们就来看一下主Activity
注意我们这里是继承的是FragmentActivity:(而且一定要选用Support.V4包下面的)
public class MainActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
然后我们新建4个class和xml
然后我们通过这个办法来绑定相应的xml布局文件
同时我们这个新建的class要继承Fragment(同时也要在Support.V4的包下)
public class Demo1 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.demo1,null,false);
return view;
}
}
然后我们新建一个list<>;
List<Fragment> views;
views= new ArrayList<Fragment>();
views.add(new Demo1());
views.add(new Demo2());
views.add(new Demo3());
views.add(new Demo4());
最主要还有最关键的部分是我们的适配器
我们重写一个适配器
public class MyAdpater extends FragmentPagerAdapter {
public List<Fragment> data_list;
private MyAdpater(FragmentManager fm){
super(fm);
data_list = new ArrayList<>();
}
@Override
public Fragment getItem(int i) {
return data_list.get(i);
}
@Override
public int getCount() {
return data_list.size();
}
}
然后回到
主Activity来实例化并使用它
FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return views.get(i);
}
@Override
public int getCount() {
return views.size();
}
};
vp.setAdapter(adapter);
那么我们的ViewPager就可以正常使用啦
最后附上主Activity的代码
package com.example.a14283.viewpager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ViewParent;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity {
ViewPager vp;
List<Fragment> views;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp=findViewById(R.id.ViewPager);
views= new ArrayList<Fragment>();
views.add(new Demo1());
views.add(new Demo2());
views.add(new Demo3());
views.add(new Demo4());
FragmentPagerAdapter adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return views.get(i);
}
@Override
public int getCount() {
return views.size();
}
};
vp.setAdapter(adapter);
}
}
觉得对你们有帮助就点歌赞吧