美文网首页
viewpager +fragment+TabIndicator

viewpager +fragment+TabIndicator

作者: Mylovesunshine | 来源:发表于2018-03-23 23:37 被阅读22次
    1. 基础
      planFragmentAdapter = new PlanFragmentAdapter(((FragmentActivity) context).getSupportFragmentManager(), titles, context);
      viewPager.setAdapter(planFragmentAdapter);
      viewPager.setCurrentItem(0);
      factory = new TabIndicatorView.ViewPagerIndicatorFactory(viewPager);
      tabIndicatorView.setTabIndicatorFactory(factory);

    2.adapter:

     package com.zjugis.onemap.mobile.patrolplan;
    
      import android.content.Context;
     import android.os.Bundle;
     import android.support.v4.app.Fragment;
     import android.support.v4.app.FragmentManager;
     import android.support.v4.app.FragmentPagerAdapter;
     import android.util.Log;
    
    import com.zjugis.onemap.mobile.persistence.entity.Plan;
    import com.zjugis.onemap.mobile.service.impl.PlanServiceImpl_;
    
    import java.util.ArrayList;
    import java.util.List;
    public class PlanFragmentAdapter extends FragmentPagerAdapter {
    private String[] titles;
    private PlanListFragment planListFragment;
    private ArrayList<Plan> results;
    private Context context;
    
    public PlanFragmentAdapter(FragmentManager fm) {
        super(fm);
    }
    
    public PlanFragmentAdapter(FragmentManager fm, String[] titles, Context context) {
        super(fm);
        this.titles = titles;
        this.context = context;
    }
    
    @Override
    public Fragment getItem(int position) {
        //position =1->fragment2;position =2->fragment3;;position =3->fragment4;
        planListFragment = new PlanListFragment();
        Bundle bundle = new Bundle();
        if (position == 1 || position == 2 || position == 3) {
            bundle.putInt("flag", position);
        } else {
            bundle.putInt("flag", 4);
        }
        planListFragment.setArguments(bundle);
        return planListFragment;
    }
    
    @Override
    public int getCount() {
        return titles.length;
    }
    
    @Override
    public void notifyDataSetChanged() {
        super.notifyDataSetChanged();
    }
    
    @Override
    public CharSequence getPageTitle(int position) {
        return titles[position] + "(" + PlanServiceImpl_.getInstance_(context).getplanCountByStatus(position, "1") + ")";
    }
    
    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
    

    }

    1.    /**
        * 刷新标题
        */
       if (factory != null) {
           factory.notifyDataSetChanged();
       }
       /**
        * 刷新内容
        */
       if (viewPager != null && viewPager.getAdapter() != null) {
           viewPager.getAdapter().notifyDataSetChanged();
       }
      

    相关文章

      网友评论

          本文标题:viewpager +fragment+TabIndicator

          本文链接:https://www.haomeiwen.com/subject/kpqfcftx.html