[android]关于轮播小圆点切换消失

主要原因是因为onDestroy的时候数组和handler没有情况

@Override
public void onDestroy() {
    super.onDestroy();
    handler.removeCallbacksAndMessages(null);
    dicatorList.clear();
    f_main_laydor.removeAllViews();
}

附上小圆点生成图

private List<ImageView> dicatorList=new ArrayList<>();
private void initDor(LinearLayout lay){
    lay.removeAllViews();
    for (int i=0;i<imgs.length;i++){
        ImageView img=getIndicatorImageView();
        TextView txt = new TextView(getActivity());
        //这里的dimen是一个xml文件里面放了多少DP,没有的话自己创建一个就行了
        ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(getResources().getDimensionPixelSize(R.dimen.dot_size),     getResources().getDimensionPixelSize(R.dimen.dot_size));
        txt.setLayoutParams(lp);
        dicatorList.add(img);
        lay.addView(img);
        lay.addView(txt);
    }
}
private void setIndicator(int currentPosition) {
    for (int i = 0; i < imgs.length; i++) {
        dicatorList.get(i).setImageResource(R.mipmap.dor_namal);
    }
    dicatorList.get(currentPosition).setImageResource(R.mipmap.dor_click);
}
private ImageView getIndicatorImageView() {
    ImageView imageView = new ImageView(getActivity());
    ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(getResources().getDimensionPixelSize(R.dimen.dot_size), getResources().getDimensionPixelSize(R.dimen.dot_size));
    imageView.setLayoutParams(lp);
    return imageView;
}

调用

initDor(f_main_laydor);
setIndicator(0);
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {
        setIndicator(position);
    }

    @Override
    public void onPageScrollStateChanged(int state) {

    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值