左右fragment

package com.bway.hhzmy.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;

import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.bway.hhzmy.Bean.MyBean;
import com.bway.hhzmy.R;
import com.bway.hhzmy.activity.SearchActivity;
import com.bway.hhzmy.adapter.DividerItemDecoration;
import com.bway.hhzmy.adapter.MyRecyclerContextAdapter;
import com.bway.hhzmy.adapter.MyRecyclerLineAdapter;
import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;




/**
 * Created by Lee_pc on 2016/11/8.
 */
public class ClassifyFragment extends Fragment {

    private TextView name;
    private LinearLayout search;

    private List<MyBean.RsBean> list=new ArrayList();
    private ArrayList<MyBean.RsBean.ChildrenBean> childrenList=new ArrayList<>();
    int index=0;
    private MyRecyclerLineAdapter adapter;
    private MyRecyclerContextAdapter contextAdapter;
    private RecyclerView recycleContext;
    private RecyclerView recycleLine;




    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view=View.inflate(getActivity(), R.layout.classify_fragment,null);



        search=(LinearLayout)view.findViewById(R.id.search1);

        search.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(getActivity(), SearchActivity.class);
                startActivity(intent);
            }
        });

        recycleLine=(RecyclerView)view.findViewById(R.id.recycle_line);


        recycleContext=(RecyclerView)view.findViewById(R.id.recycle_context);


        initData();
        setleftrecycle();
        setRightRecycle();










        return view;
    }

    private void initData() {
        try {
            //读取本地文件
            InputStream inputStream = getActivity().getResources().getAssets().open("category.txt");

            BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
            StringBuffer stringBuffer = new StringBuffer();
            String str = null;
            while((str = br.readLine())!=null){
                stringBuffer.append(str);
            }
            str=stringBuffer.toString();
            Log.e("bean---------",str);
            Gson gson=new Gson();
            MyBean myBean = gson.fromJson(str, MyBean.class);

            list.addAll(myBean.rs);
            //默认第一个选中
            list.get(0).ischeck=true;
        } catch (IOException e) {
            e.printStackTrace();
        }

    }





    private void setleftrecycle() {
        LinearLayoutManager manager=new LinearLayoutManager(getActivity());
        //设置布局管理器
        recycleLine.setLayoutManager(manager);
        //设置垂直
        manager.setOrientation(OrientationHelper.VERTICAL);

        //设置适配器
        adapter = new MyRecyclerLineAdapter(getActivity(),list);
        //设置分割线
        recycleLine.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
        recycleLine.setAdapter(adapter);
        //设置点击监听
        adapter.setOnItemClickLitener(new MyRecyclerLineAdapter.OnItemClickLitener() {
            @Override
            public void onItemClick(View view, int positon) {
                list.get(index).ischeck=false;
                list.get(positon).ischeck=true;
                index=positon;
                //点击之后进行修改数据
                update(positon);
            }

            @Override
            public void onItemLongClick(View view, int position) {


            }
        });
    }

    private void setRightRecycle() {
        GridLayoutManager manager=new GridLayoutManager(getActivity(),3);
        //设置布局管理器
        recycleContext.setLayoutManager(manager);
        //设置垂直
        manager.setOrientation(OrientationHelper.VERTICAL);
        //设置只有字体占行数
        manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                //判断是否为标题 ,是 返回3   否  返回1
                return childrenList.get(position).isHeader?3:1;
            }
        });
        //默认将第一个数据进行遍历展示
        List<MyBean.RsBean.ChildrenBean>  childrenBeanList=list.get(0).children;
        for (int i = 0; i < childrenBeanList.size(); i++) {
            childrenBeanList.get(i).isHeader = true;
            childrenList.add(childrenBeanList.get(i));
            childrenList.addAll(childrenBeanList.get(i).children);
        }

        //设置适配器
        contextAdapter = new MyRecyclerContextAdapter(getActivity(),childrenList);
        recycleContext.setAdapter(contextAdapter);
    }


    private void update(int positon) {
        adapter.notifyDataSetChanged();//进行数据刷新
        childrenList.clear();//数据进行清空,放更新的数据
        //第一层children
        List<MyBean.RsBean.ChildrenBean> childrenBeen=list.get(positon).children;
        for (int i = 0; i < childrenBeen.size(); i++) {
            childrenBeen.get(i).isHeader = true;
            childrenList.add(childrenBeen.get(i));
            childrenList.addAll(childrenBeen.get(i).children);
        }
        contextAdapter.notifyDataSetChanged();//刷新内容展示
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        list.clear();
        childrenList.clear();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值