这是我Dashboard_adapt
适配器类。
public class Dashboard_adapt extends FragmentStatePagerAdapter {
Context context;
ArrayList<Fragment> fragments = new ArrayList<>();
public Dashboard_adapt(FragmentManager fm, Context context) {
super(fm);
this.context = context;
setFragments();
}
private void setFragments(){
fragments.add(new Home_dashboard());
fragments.add(new Search_dashboard());
fragments.add(new Add_dashboard());
fragments.add(new Favourite_dashboard());
fragments.add(new User_dashboard());
}
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
if (object != null) {
return ((Fragment) object).getView() == view;
} else {
return false;
}
}
@Override
public Fragment getItem(int position) {
Toast.makeText(context, "" + position, Toast.LENGTH_SHORT).show();
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
这是ViewPager和TabLayout的主要活动。
public class Dashboard extends AppCompatActivity {
private FragmentManager fm = null;
private int[] ImageViar = {
R.drawable.home_dash,
R.drawable.ic_search_black_24dp,
R.drawable.plus,
R.drawable.heart,
R.drawable.user_dash
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
((AppCompatActivity) this).getSupportActionBar().hide();
fm = getSupportFragmentManager();
final TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_dash);
final ViewPager viewPager = (ViewPager) findViewById(R.id.fragment_changer_dashboard);
Dashboard_adapt adapter = new Dashboard_adapt(fm, this);
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons(tabLayout);
}
适配器类在第一次返回两个 Toast..,并且下次下一次在 ViewPager 中打开下一个片段类。
这是
ViewPager的默认行为。ViewPager还会加载"屏幕外"页面以优化滑动手势...您可能会看到位置 =0 和 1 的祝酒词。查看 setOffscreenPageLimit 方法...控制"页数">