Search in sources :

Example 6 with AndroidBean

use of com.example.jingbin.cloudreader.bean.AndroidBean 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)

Example 7 with AndroidBean

use of com.example.jingbin.cloudreader.bean.AndroidBean in project CloudReader by youlookwhat.

the class EverydayModel method addUrlList.

private List<AndroidBean> addUrlList(List<AndroidBean> arrayList, int androidSize) {
    List<AndroidBean> tempList = new ArrayList<>();
    for (int i = 0; i < androidSize; i++) {
        AndroidBean androidBean = new AndroidBean();
        // 标题
        androidBean.setDesc(arrayList.get(i).getDesc());
        // 类型
        androidBean.setType(arrayList.get(i).getType());
        // 跳转链接
        androidBean.setUrl(arrayList.get(i).getUrl());
        // 随机图的url
        if (androidSize == 1) {
            // 一图
            androidBean.setimageUrl(ConstantsImageUrl.HOME_ONE_URLS[getRandom(1)]);
        } else if (androidSize == 2) {
            // 两图
            androidBean.setimageUrl(ConstantsImageUrl.HOME_TWO_URLS[getRandom(2)]);
        } else if (androidSize == 3) {
            // 三图
            androidBean.setimageUrl(ConstantsImageUrl.HOME_SIX_URLS[getRandom(3)]);
        }
        tempList.add(androidBean);
    }
    return tempList;
}
Also used : ArrayList(java.util.ArrayList) AndroidBean(com.example.jingbin.cloudreader.bean.AndroidBean)

Example 8 with AndroidBean

use of com.example.jingbin.cloudreader.bean.AndroidBean in project CloudReader by youlookwhat.

the class EverydayModel method addUrlList.

// subList没有实现序列化!缓存时会出错!
private void addUrlList(List<List<AndroidBean>> lists, List<AndroidBean> arrayList, String typeTitle) {
    // title
    AndroidBean bean = new AndroidBean();
    bean.settypeTitle(typeTitle);
    ArrayList<AndroidBean> androidBeen = new ArrayList<>();
    androidBeen.add(bean);
    lists.add(androidBeen);
    int androidSize = arrayList.size();
    if (androidSize > 0 && androidSize < 4) {
        lists.add(addUrlList(arrayList, androidSize));
    } else if (androidSize >= 4) {
        ArrayList<AndroidBean> list1 = new ArrayList<>();
        ArrayList<AndroidBean> list2 = new ArrayList<>();
        for (int i = 0; i < androidSize; i++) {
            if (i < 3) {
                list1.add(getAndroidBean(arrayList, i, androidSize));
            } else if (i < 6) {
                list2.add(getAndroidBean(arrayList, i, androidSize));
            }
        }
        lists.add(list1);
        lists.add(list2);
    }
}
Also used : ArrayList(java.util.ArrayList) AndroidBean(com.example.jingbin.cloudreader.bean.AndroidBean)

Example 9 with AndroidBean

use of com.example.jingbin.cloudreader.bean.AndroidBean in project CloudReader by youlookwhat.

the class DataUtil method getTrueData.

/**
 * 剔除不必要的信息
 */
public static List<AndroidBean> getTrueData(List<AndroidBean> list) {
    ArrayList<AndroidBean> arrayList = new ArrayList<>();
    if (list != null && list.size() > 0) {
        List<AndroidBean> removeList = new ArrayList<>();
        for (AndroidBean resultBean : list) {
            if (!TextUtils.isEmpty(resultBean.getUrl()) && resultBean.getUrl().contains("yangchong")) {
                removeList.add(resultBean);
            }
        }
        list.removeAll(removeList);
        arrayList.addAll(list);
    }
    return arrayList;
}
Also used : ArrayList(java.util.ArrayList) AndroidBean(com.example.jingbin.cloudreader.bean.AndroidBean)

Aggregations

AndroidBean (com.example.jingbin.cloudreader.bean.AndroidBean)9 ArrayList (java.util.ArrayList)7 Context (android.content.Context)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 GankIoDayBean (com.example.jingbin.cloudreader.bean.GankIoDayBean)1 EverydayViewModel (com.example.jingbin.cloudreader.viewmodel.gank.EverydayViewModel)1 List (java.util.List)1 OnBannerClickListener (me.jingbin.banner.config.OnBannerClickListener)1 ByBannerViewHolder (me.jingbin.banner.holder.ByBannerViewHolder)1 Observable (rx.Observable)1 Observer (rx.Observer)1 Subscription (rx.Subscription)1 Func1 (rx.functions.Func1)1