youth5201314 / banner

🔥🔥🔥Banner 2.0 来了!Android广告图片轮播控件,内部基于ViewPager2实现,Indicator和UI都可以自定义。
Apache License 2.0
12.87k stars 2.51k forks source link

进去activity轮播图刚开始显示第一张,然后直接跳到最后一张图,然后就一直这样重复轮播每次都,跳到最后 一张,除非你触摸它才正常 #866

Closed thebestRaven closed 4 years ago

thebestRaven commented 4 years ago

代码: <com.youth.banner.Banner android:id="@+id/banner" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@id/cl_search_head" android:layout_width="match_parent" android:layout_height="140dp" android:layout_marginLeft="10dp" android:layout_marginTop="14dp" android:layout_marginRight="10dp" app:indicator_normal_color="@color/white" app:indicator_selected_color="@color/theme_color"/>

banner.addBannerLifecycleObserver(this) .setAdapter(new BannerAdapter(this,BannerImageBean.getFindProjectBannerData())) .setIndicator(new CircleIndicator(this)) .setIndicatorGravity(IndicatorConfig.Direction.CENTER) .start();

youth5201314 commented 4 years ago

我的BannerAdapter是抽象类啊!你继承了吗?我看看你的adapter怎么弄的?

thebestRaven commented 4 years ago

public class BannerAdapter extends com.youth.banner.adapter.BannerAdapter<Integer, BannerAdapter.ImageHolder> { private Context mContext; public BannerAdapter(Context context,List mDatas) { super(mDatas); this.mContext = context; }

@Override
public ImageHolder onCreateHolder(ViewGroup parent, int viewType) {
    ImageView imageView = new ImageView(parent.getContext());
    imageView.setLayoutParams(new ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT));
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    return new ImageHolder(imageView);
}

@Override
public void onBindView(ImageHolder holder, Integer imageResId, int position, int size) {
    if (!AppUtil.isDestroy((Activity) mContext)){//解决glide加载图片报错问题
        Glide.with(holder.imageView)
                .load(imageResId)
                .apply(RequestOptions.bitmapTransform(new RoundedCorners(20)))
                .into(holder.imageView);
    }
}

class ImageHolder extends RecyclerView.ViewHolder {
    ImageView imageView;

    ImageHolder(@NonNull View view) {
        super(view);
        this.imageView = (ImageView) view;
    }
}

}

youth5201314 commented 4 years ago

你运行demo有这个问题没?你可以给我一个你的问题demo,这样代码不全我也不好看问题!

Android2013IT commented 4 years ago

你运行demo有这个问题没?你可以给我一个你的问题demo,这样代码不全我也不好看问题!

我也遇见同样问题:在Fragment中使用正常,在Activity中就是一样的问题

thebestRaven commented 4 years ago

你运行demo有这个问题没?你可以给我一个你的问题demo,这样代码不全我也不好看问题!

我也遇见同样问题:在Fragment中使用正常,在Activity中就是一样的问题 对。。fragment正常 activity就有问题 你解决了吗?

zhangwm1219 commented 2 years ago

怎么解决的?