Fragment分类页面

例:

 

 

FrgamenFenleiFragment    分类页面

 

public class FrgamenFenleiFragment extends Fragment {
    private View view;
    private RecyclerView mLeftrlv;
    private RecyclerView mRightrlv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.frgamen_fenlei, null);
        initView(inflate);
        return inflate;
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        getleft();
        getright(1);
    }

    private void getleft() {

        String leftpath="https://www.zhaoapi.cn/product/getCatagory";
        mLeftrlv.setLayoutManager(new LinearLayoutManager(getActivity(), OrientationHelper.VERTICAL,false));
        OkHttp3Util_03.doGet(leftpath, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();
                final Left left = new Gson().fromJson(string, Left.class);
                final List<Left.DataBean> data = left.getData();
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        LeftAdapter  leftAdapter=new LeftAdapter(getContext(),data);
                        mLeftrlv.setAdapter(leftAdapter);
                        leftAdapter.SetOnItemClickListener(new LeftAdapter.OnItemClickListener() {
                            @Override
                            public void onItemClick(int position) {
                                int cid = data.get(position).getCid();
                                getright(cid);
                            }
                        });
                    }
                });
            }
        });
    }

    private void getright(final int right) {
        String    rightqian = "https://www.zhaoapi.cn/product/getProductCatagory?cid="+right;
        mRightrlv.setLayoutManager(new LinearLayoutManager(getActivity(), OrientationHelper.VERTICAL,false));

        OkHttp3Util_03.doGet(rightqian, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();
                RightOut rightOut = new Gson().fromJson(string, RightOut.class);
                final List<RightOut.DataBean> data = rightOut.getData();
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        RightAdapter  rightAdapter = new RightAdapter(getActivity(),data);
                        mRightrlv.setAdapter(rightAdapter);
                    }
                });
            }
        });

    }
    private void initView(View inflate) {
        mLeftrlv = (RecyclerView) inflate.findViewById(R.id.leftrlv);
        mRightrlv = (RecyclerView) inflate.findViewById(R.id.rightrlv);
    }
}
frgamen_fenlei  分类页面布局

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="match_parent">
        <android.support.v7.widget.RecyclerView
            android:layout_width="200dp"
            android:id="@+id/leftrlv"
            android:layout_centerHorizontal="true"
            android:layout_height="match_parent">
        </android.support.v7.widget.RecyclerView>
    </RelativeLayout>
    <RelativeLayout
        android:layout_width="0dp"
        android:layout_weight="7"
        android:layout_height="match_parent">
        <android.support.v7.widget.RecyclerView
            android:layout_width="600dp"
            android:id="@+id/rightrlv"
            android:layout_height="match_parent">
        </android.support.v7.widget.RecyclerView>
    </RelativeLayout>
</LinearLayout>

 

OkHttp3Util_03   网络工具类:

 

 

public class OkHttp3Util_03 {
    /**
     * 懒汉 安全 加同步
     * 1.私有的静态成员变量 只声明不创建
     * 2.私有的构造方法
     * 3.提供返回实例的静态方法
     */
    private static OkHttpClient okHttpClient = null;
    private OkHttp3Util_03() {
    }
    public static OkHttpClient getInstance() {
        if (okHttpClient == null) {
            //加同步安全
            synchronized (OkHttp3Util_03.class) {
                if (okHttpClient == null) {
                    //okhttp可以缓存数据....指定缓存路径
                    File sdcache = new File(Environment.getExternalStorageDirectory(), "cache");
                    //指定缓存大小
                    int cacheSize = 10 * 1024 * 1024;
                    okHttpClient = new OkHttpClient.Builder()//构建器
                            .connectTimeout(15, TimeUnit.SECONDS)//连接超时
                            .writeTimeout(20, TimeUnit.SECONDS)//写入超时
                            .readTimeout(20, TimeUnit.SECONDS)//读取超时
                            .addInterceptor(new CommonParamsInterceptor())//添加应用拦截器的方法
                            .cache(new Cache(sdcache.getAbsoluteFile(), cacheSize))//设置缓存
                            .build();
                }
            }
        }
        return okHttpClient;
    }
    /**
     * get请求
     * 参数1 url
     * 参数2 回调Callback
     *
     * oldUrl表示老的地址,,,是没封装公共参数之前的地址....公共参数指的是source=android
     *
     */
    public static void doGet(String oldUrl, Callback callback) {
        //创建OkHttpClient请求对象
        OkHttpClient okHttpClient = getInstance();
        //创建Request
        Request request = new Request.Builder().url(oldUrl).build();
        //得到Call对象
        Call call = okHttpClient.newCall(request);
        //执行异步请求
        call.enqueue(callback);
    }
    /**
     * post请求
     * 参数1 url
     * 参数2 Map<String, String> params post请求的时候给服务器传的数据
     *      add..("","")
     *      add()
     */
    public static void doPost(String url, Map<String, String> params, Callback callback) {
        //创建OkHttpClient请求对象
        OkHttpClient okHttpClient = getInstance();
        //3.x版本post请求换成FormBody 封装键值对参数

        FormBody.Builder builder = new FormBody.Builder();
        //遍历集合,,,map集合遍历方式
        for (String key : params.keySet()) {
            builder.add(key, params.get(key));
        }

        //创建Request....formBody...new formBody.Builder()...add()....build()
        Request request
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值