Search in sources :

Example 1 with OnBannerClickListener

use of me.jingbin.banner.config.OnBannerClickListener in project CloudReader by youlookwhat.

the class EverydayFragment method onObserveViewModel.

private void onObserveViewModel() {
    viewModel.getShowLoading().observe(this, new Observer<Boolean>() {

        @Override
        public void onChanged(@Nullable Boolean aBoolean) {
            showRotaLoading(aBoolean);
        }
    });
    viewModel.getBannerData().observe(this, new Observer<EverydayViewModel.BannerDataBean>() {

        @Override
        public void onChanged(@Nullable EverydayViewModel.BannerDataBean bean) {
            if (bean != null && bean.getImageUrls() != null && bean.getImageUrls().size() > 0) {
                mHeaderBinding.banner.setAutoPlay(true).setOffscreenPageLimit(bean.getImageUrls().size()).setPages(bean.getImageUrls(), new HolderCreator<ByBannerViewHolder>() {

                    @Override
                    public ByBannerViewHolder createViewHolder() {
                        return new ByBannerViewHolder<String>() {

                            private ImageView imageView;

                            @Override
                            public View createView(Context context) {
                                View view = LayoutInflater.from(context).inflate(R.layout.item_banner_wanandroid, null);
                                imageView = (ImageView) view.findViewById(R.id.iv_banner);
                                return view;
                            }

                            @Override
                            public void onBind(Context context, int position, String data) {
                                DensityUtil.setWidthHeight(imageView, DensityUtil.getDisplayWidth(), 2.5f);
                                GlideUtil.displayEspImage(data, imageView, 3);
                            }
                        };
                    }
                }).start();
                mHeaderBinding.banner.setOnBannerClickListener(new OnBannerClickListener() {

                    @Override
                    public void onBannerClick(int position) {
                        if (bean.getList() != null && bean.getList().size() > 0 && !TextUtils.isEmpty(bean.getList().get(position).getCode()) && bean.getList().get(position).getCode().startsWith("http")) {
                            WebViewActivity.loadUrl(getContext(), bean.getList().get(position).getCode(), "加载中...");
                        }
                    }
                });
                isLoadBanner = true;
            }
        }
    });
    viewModel.getContentData().observe(this, new Observer<ArrayList<ArrayList<AndroidBean>>>() {

        @Override
        public void onChanged(@Nullable ArrayList<ArrayList<AndroidBean>> lists) {
            if (lists != null && lists.size() > 0) {
                mEverydayAdapter.setNewData(lists);
            } else {
                showError();
            }
        }
    });
}
Also used : Context(android.content.Context) OnBannerClickListener(me.jingbin.banner.config.OnBannerClickListener) ByBannerViewHolder(me.jingbin.banner.holder.ByBannerViewHolder) ArrayList(java.util.ArrayList) ImageView(android.widget.ImageView) View(android.view.View) EverydayViewModel(com.example.jingbin.cloudreader.viewmodel.gank.EverydayViewModel) ImageView(android.widget.ImageView) AndroidBean(com.example.jingbin.cloudreader.bean.AndroidBean)

Aggregations

Context (android.content.Context)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 AndroidBean (com.example.jingbin.cloudreader.bean.AndroidBean)1 EverydayViewModel (com.example.jingbin.cloudreader.viewmodel.gank.EverydayViewModel)1 ArrayList (java.util.ArrayList)1 OnBannerClickListener (me.jingbin.banner.config.OnBannerClickListener)1 ByBannerViewHolder (me.jingbin.banner.holder.ByBannerViewHolder)1