在视图内添加圆点 根据请求的数据有几条来创建

linearLayout.removeAllViews(); for (int i=0;i<size;i++){ ImageView imageView=new ImageView(getContext()); imageView.setBackgroundResource(R.drawable.selector_linea...
摘要由CSDN通过智能技术生成

主Activity

public class MainActivity extends AppCompatActivity {

    private ViewPager viewPager;
    private TabLayout tabLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewPager=findViewById(R.id.viewpager);
        tabLayout=findViewById(R.id.tab_parent);

        viewPager.setAdapter(new Padapter(getSupportFragmentManager()));
        tabLayout.setupWithViewPager(viewPager);

    }
}

父Viewpager适配器

 public class Padapter  extends FragmentPagerAdapter {
    private String[] p_menus=new String[]{"首页","发现","发布","消息","我的"};
    public Padapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        switch (i){
            case 0:
                return new OneFragment();
            default:
                return new TwoFragment();
        }
    }

    @Override
    public int getCount() {
        return p_menus.length;
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return p_menus[position];
    }
}

子Viewpager适配器

public class Cadapter extends PagerAdapter{

    private List<ContentBean.DataBean>  mlist;
    private Context context;

    public Cadapter(Context context) {
        this.context = context;
        mlist=new ArrayList<>();
    }

    public void setMlist(List<ContentBean.DataBean> mlist) {
        if(mlist!=null){
            this.mlist = mlist;
        }
        notifyDataSetChanged();
    }

    public ContentBean.DataBean getItem(int position){
        return mlist.get(position%mlist.size());
    }

    @Override
    public int getCount() {
        return mlist.size()>0?5000:0;
    }

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

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView=new ImageView(context);
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        container.addView(imageView);
        ImageLoader.getInstance().displayImage(mlist.get(position%mlist.size()).getPic_url(),imageView);
        return imageView;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}
OneFragment页面
   

     public class OneFrag

ment extends Fragment {

        private View view;
        private ViewPager pager;
        private Cadapter cadapter;
        private LinearLayout linearLayout;
        private TextView textView;
    
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            view = inflater.inflate(R.layout.one,container,false);
            return view;
        }
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            pager=view.findViewById(R.id.cviewpager);
            linearLayout=view.findViewById(R.id.linear);
            textView=view.findViewById(R.id.title);
            cadapter=new Cadapter(getContext());
            pager.setAdapter(cadapter);
            pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                private int cacheIndex = -1;
                @Override
                public void onPageScrolled(int i, float v, int i1) {
    
                }
    
                @Override
                public void onPageSelected(int i) {
                    textView.setText(cadapter.getItem(i).getNews_title());
                    linearLayout.getChildAt(i%linearLayout.getChildCount()).setSelected(true);
                    if(cacheIndex>=0){
                  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值