分类

shitu

public class fgfenlei extends Fragment implements IuserFlView,IuserFl2View{

    private RecyclerView rv1;
    private int cid;
    private MyFl2presenter myFl2presenter;

    private List<String> fl1List = new ArrayList<>();
    private List<List<FlBean2.DataBean.ListBean>> fl2list = new ArrayList<>();

    private ExpandableListView elv;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v  = View.inflate(getActivity(), R.layout.flfragment,null);

        rv1 = v.findViewById(R.id.rv1);
        elv = (ExpandableListView) v.findViewById(R.id.list);

        LinearLayoutManager lm = new LinearLayoutManager(getActivity());
        rv1.setLayoutManager(lm);
       //

        MyFlPresenter myFlPresenter = new MyFlPresenter(this);
        myFlPresenter.getFlpresenter();

        myFl2presenter = new MyFl2presenter(this);
        return v;
    }

    @Override
    public void getFlView(final FlBean1 flBean1) {
        List<FlBean1.DataBean> data = flBean1.getData();
        Fladapter fladapter = new Fladapter(getActivity(),data);
        rv1.setAdapter(fladapter);

        fladapter.setOnItemClickListener(new Fladapter.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int position) {

                List<FlBean1.DataBean> data1 = flBean1.getData();
                cid = data1.get(position).getCid();
                 Toast.makeText(getActivity(),""+cid, Toast.LENGTH_SHORT).show();
                myFl2presenter.getFl2presenter(cid);
            }
        });
    }

    @Override
    public void getFl2(List<FlBean2.DataBean> fl2lists) {
        fl1List.clear();;
        fl2list.clear();
        for(int i =0;i<fl2lists.size();i++){
            FlBean2.DataBean dataBean = fl2lists.get(i);
            fl1List.add(dataBean.getName());
            fl2list.add(dataBean.getList());
        }
        Fl2adpter fl2adapter = new Fl2adpter(fl1List,fl2list,getActivity());
        elv.setAdapter(fl2adapter);
    }
}


适配器

public class Fl2adpter extends BaseExpandableListAdapter {
    private List<String> Fl2list;
    private List<List<FlBean2.DataBean.ListBean>> ListBean;
    private Context context;
    private View v;
    private ViewHoudler1 vh1;
    private View v2;
    private ViewHoudler2 vh2;
    private RecyclerView rv2;

    //
    public Fl2adpter(List<String> fl2list, List<List<FlBean2.DataBean.ListBean>> listBean, Context context) {
        Fl2list = fl2list;
        ListBean = listBean;
        this.context = context;
    }

    @Override
    public int getGroupCount() {
        return Fl2list.size();
    }

    @Override
    public int getChildrenCount(int i) {//?

        return 1;
    }

    @Override
    public Object getGroup(int i) {
        return Fl2list.get(i);
    }

    @Override
    public Object getChild(int i, int i1) {

        return ListBean.get(i).get(i1);
    }

    @Override
    public long getGroupId(int i) {
        return i;
    }

    @Override
    public long getChildId(int i, int i1) {
        return i1;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
       if(view==null){
           v = View.inflate(context, R.layout.fl2_buju,null);
           TextView textView = (TextView) v.findViewById(R.id.fl2_tv2);
           vh1 = new ViewHoudler1();
           vh1.tv = textView;
           v.setTag(vh1);
       }else {
           v=view;
           vh1 = (ViewHoudler1) v.getTag();
           String s = Fl2list.get(i);
           vh1.tv.setText(s);
       }
        return v;
    }

    @Override
    public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {
        if(view==null) {
            v2 = View.inflate(context, R.layout.fl3_buju, null);
            rv2 = (RecyclerView) v2.findViewById(R.id.fl2_rv);
            vh2 = new ViewHoudler2();
            vh2.rv= rv2;
            v2.setTag(vh2);
        }else {
            v2=view;
            vh2 = (ViewHoudler2) v2.getTag();
        }
        List<FlBean2.DataBean.ListBean> listBeans = ListBean.get(i);//得到listbean集合
        GridLayoutManager layoutManager = new GridLayoutManager(context,3);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        rv2.setLayoutManager(layoutManager);
        Fl3adapter fl3adapter = new Fl3adapter(context,listBeans);
        rv2.setAdapter(fl3adapter);

        fl3adapter.setOnItemClickListener(new Fl3adapter.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int position) {
                int pcid = ListBean.get(position).get(position).getPcid();
                    Intent intent = new Intent(context, XqActivity.class);
                    intent.putExtra("one", pcid);
                    context.startActivity(intent);
            }
        });
        return v2;
    }

    @Override
    public boolean isChildSelectable(int i, int i1) {
        return true;
    }

    class ViewHoudler1 {
        TextView tv;
    }

    class ViewHoudler2 {
        RecyclerView rv;
    }
}

适配器

public class Fl3adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private Context context;
    private List<FlBean2.DataBean.ListBean> lists;

    private OnItemClickListener onItemClickListener;

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener{
        void onItemClick(View view, int position);
    }

    //

    public Fl3adapter(Context context, List<FlBean2.DataBean.ListBean> lists) {
        this.context = context;
        this.lists = lists;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = View.inflate(context,R.layout.fl3_rv_buju,null);
        ViewHoudlers vh = new ViewHoudlers(v);
        return vh;
    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
        ((ViewHoudlers) holder).tv.setText(lists.get(position).getName());
        loderImage(lists.get(position).getIcon(),((ViewHoudlers) holder).iv);

        if(onItemClickListener!=null) {
            ((ViewHoudlers) holder).ll.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    onItemClickListener.onItemClick(holder.itemView, position);
                }
            });
        }
    }

    @Override
    public int getItemCount() {
        return lists.size();
    }

    class ViewHoudlers extends RecyclerView.ViewHolder{

        private final TextView tv;
        private final ImageView iv;
        private final LinearLayout ll;

        public ViewHoudlers(View itemView) {
            super(itemView);

            tv = (TextView) itemView.findViewById(R.id.rv_tv);
            iv = (ImageView) itemView.findViewById(R.id.rv_img);
            ll = (LinearLayout) itemView.findViewById(R.id.ll);
        }
    }

    public  void loderImage(String url,ImageView imageView){
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration
                .createDefault(context);

        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.mipmap.ic_launcher) //设置图片下载期间显示的图片
                .showImageOnFail(R.mipmap.ic_launcher)// 设置图片uri有错误,解密的过程中发生错误显示的图片
                .cacheInMemory(true)//设置下载的图片是否缓存到内存中
                .cacheOnDisk(true)// 设置下载的图片是否缓存到SD卡中
                .bitmapConfig(Bitmap.Config.RGB_565)
                .build();

        ImageLoader instance = ImageLoader.getInstance();
        instance.init(configuration);
        //通过单例的模式,拿到对象,设置我们自定义配置的ImageLoader的配置信息
        instance.displayImage(url, imageView ,options);

        //compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值