嵌套A

佈局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
    tools:context=".fragment.FenFragment">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <android.support.v7.widget.RecyclerView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:id="@+id/Recy_Group"
            ></android.support.v7.widget.RecyclerView>

        <android.support.v7.widget.RecyclerView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="4"
            android:id="@+id/Recy_Child"
            ></android.support.v7.widget.RecyclerView>



    </LinearLayout>


</FrameLayout>

列表

package com.example.mymodule20190115;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;

import com.example.mymodule20190115.adapter.MyListGoodsAdapter;
import com.example.mymodule20190115.bean.MyListGoodsData;
import com.example.mymodule20190115.contacs.Contacts;
import com.example.mymodule20190115.presenter.PresenterImpl;
import com.example.mymodule20190115.view.IView;

import java.util.ArrayList;
import java.util.HashMap;

public class Main2Activity extends AppCompatActivity implements IView {

    private RecyclerView Recy_Goods;
    private ArrayList<MyListGoodsData.DataBean>gList=new ArrayList<>();
    private PresenterImpl presenter;
    private MyListGoodsAdapter myListGoodsAdapter;
    private int index=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        initView();
        Intent intent = getIntent();
        int pscid = intent.getIntExtra("pscid", 0);
        presenter = new PresenterImpl(this);
        HashMap<String,String> map=new HashMap<>();
        HashMap<String,Object>hashMap=new HashMap<>();
        map.put("pscid",pscid+"");


        myListGoodsAdapter = new MyListGoodsAdapter(gList,this);
        Recy_Goods.setAdapter(myListGoodsAdapter);
        Recy_Goods.setLayoutManager(new LinearLayoutManager(this));
        presenter.setRequsePost(Contacts.LISTGOODS_URL,map,hashMap,MyListGoodsData.class);


    }

    @Override
    public void Success(Object data) {

        MyListGoodsData myListGoodsData= (MyListGoodsData) data;
        gList.addAll(myListGoodsData.getData());
        myListGoodsAdapter.notifyDataSetChanged();
    }

    @Override
    public void error(Object error) {

    }

    private void initView() {
        Recy_Goods = (RecyclerView) findViewById(R.id.Recy_Goods);
    }
}

首頁

package com.example.mymodule20190115.fragment;


import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.example.mymodule20190115.Main2Activity;
import com.example.mymodule20190115.R;
import com.example.mymodule20190115.adapter.MyGoodsAdapter;
import com.example.mymodule20190115.adapter.MyGroupAdapter;
import com.example.mymodule20190115.bean.MyFenData;
import com.example.mymodule20190115.bean.MyGoodsData;
import com.example.mymodule20190115.contacs.Contacts;
import com.example.mymodule20190115.presenter.PresenterImpl;
import com.example.mymodule20190115.view.IView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class FenFragment extends Fragment implements IView {


    private RecyclerView Recy_Group;
    private RecyclerView Recy_Child;
    private ArrayList<MyFenData.DataBean>fList=new ArrayList<>();
    private MyGroupAdapter myGroupAdapter;
    private PresenterImpl presenter;
    private ArrayList<MyGoodsData.DataBean>mList=new ArrayList<>();
    private MyGoodsAdapter myGoodsAdapter;
    private HashMap<String, String> zHashMap;


    private HashMap<String, String> map;
    private HashMap<String, Object> hashMap;

    public FenFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_fen, null);
        initView(view);

        presenter = new PresenterImpl(this);


        map = new HashMap<>();
        hashMap = new HashMap<>();

        myGroupAdapter = new MyGroupAdapter(fList,getContext());
        Recy_Group.setAdapter(myGroupAdapter);

        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getContext());
        Recy_Group.setLayoutManager(linearLayoutManager);

        presenter.setRequsePost(Contacts.SHOU_URL, map, hashMap,MyFenData.class);

         onclick();




        return view;
    }

    private void onclick() {

        myGroupAdapter.setOnItemClick(new MyGroupAdapter.ItemClick() {
            @Override
            public void setOnItem(View v, int cid) {
                map.put("cid", cid +"");
                myGoodsAdapter = new MyGoodsAdapter(mList,getContext());
                Recy_Child.setAdapter(myGoodsAdapter);
                Recy_Child.setLayoutManager(new GridLayoutManager(getContext(),3));
                presenter.setRequsePost(Contacts.FENYI_URL, map, hashMap,MyGoodsData.class);
            }
        });



    }






    private void initView(View view) {
        Recy_Group = (RecyclerView) view.findViewById(R.id.Recy_Group);
        Recy_Child = (RecyclerView) view.findViewById(R.id.Recy_Child);
    }

    @Override
    public void Success(Object data) {

        if(data instanceof MyFenData){
            MyFenData myFenData= (MyFenData) data;
            fList.addAll(myFenData.getData());
            myGroupAdapter.notifyDataSetChanged();
        }


        if(data instanceof MyGoodsData){
            MyGoodsData myGoodsData= (MyGoodsData) data;
            mList.addAll(myGoodsData.getData());
            myGoodsAdapter.notifyDataSetChanged();
        }

    }

    @Override
    public void error(Object error) {

    }


}

適配器A

package com.example.mymodule20190115.adapter;

import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.mymodule20190115.Main2Activity;
import com.example.mymodule20190115.R;
import com.example.mymodule20190115.bean.MyGoodsData;


import java.util.ArrayList;
import java.util.List;

public class MyGoodsAdapter extends RecyclerView.Adapter<MyGoodsAdapter.VIewHolder> {

    private ArrayList<MyGoodsData.DataBean>mList;
    private Context mContext;

    public MyGoodsAdapter(ArrayList<MyGoodsData.DataBean> mList, Context mContext) {
        this.mList = mList;
        this.mContext = mContext;
    }

    @NonNull
    @Override
    public VIewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view=View.inflate(mContext,R.layout.goods_item,null);
        VIewHolder holder=new VIewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull VIewHolder holder, final int i) {

        holder.goods_text.setText(mList.get(0).getList().get(i).getName());
        Glide.with(mContext).load( mList.get(0).getList().get(i).getIcon()).into(holder.goods_image);

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(mContext,Main2Activity.class);
                intent.putExtra("pscid",mList.get(0).getList().get(i).getPscid());
                mContext.startActivity(intent);
            }
        });

    }

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



    public class VIewHolder extends RecyclerView.ViewHolder {

        private  ImageView goods_image;
        private  TextView goods_text;

        public VIewHolder(@NonNull View itemView) {
            super(itemView);

            goods_image = itemView.findViewById(R.id.Goods_Image);
            goods_text = itemView.findViewById(R.id.Goods_Text);
        }
    }




}

適配器B

package com.example.mymodule20190115.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.mymodule20190115.R;
import com.example.mymodule20190115.bean.MyFenData;

import java.util.ArrayList;

public class MyGroupAdapter extends RecyclerView.Adapter<MyGroupAdapter.ViewHolder>  {
    private ArrayList<MyFenData.DataBean> fList;
    private Context mContext;

    public MyGroupAdapter(ArrayList<MyFenData.DataBean> fList, Context mContext) {
        this.fList = fList;
        this.mContext = mContext;
    }

    @NonNull
    @Override
    public MyGroupAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View  view= LayoutInflater.from(mContext).inflate(R.layout.group_item,viewGroup,false);
        ViewHolder holder=new ViewHolder(view);

        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull MyGroupAdapter.ViewHolder holder, final int i) {

        holder.group_text.setText(fList.get(i).getName());
        holder.group_text.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(itemClick!=null){

                    itemClick.setOnItem(v,fList.get(i).getCid());
                }
            }
        });
    }

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


    public class ViewHolder extends RecyclerView.ViewHolder {
        private TextView group_text;
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            group_text = itemView.findViewById(R.id.Group_Text);

        }
    }
    public interface ItemClick{
        void setOnItem(View v,int cid);
    }

    private ItemClick itemClick;

    public void setOnItemClick(ItemClick itemClick){
        this.itemClick=itemClick;
    }




}

適配器展示

package com.example.mymodule20190115.adapter;

import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.mymodule20190115.R;
import com.example.mymodule20190115.XiangQingActivity;
import com.example.mymodule20190115.bean.MyListGoodsData;

import java.util.ArrayList;

public class MyListGoodsAdapter extends RecyclerView.Adapter<MyListGoodsAdapter.ViewHolder> {
   private ArrayList<MyListGoodsData.DataBean>gList;
   private Context mContext;

    public MyListGoodsAdapter(ArrayList<MyListGoodsData.DataBean> gList, Context mContext) {
        this.gList = gList;
        this.mContext = mContext;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view=View.inflate(mContext,R.layout.list_item,null);
        ViewHolder holder=new ViewHolder(view);

        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int i) {

        holder.list_name.setText(gList.get(i).getTitle());
        holder.list_price.setText(gList.get(i).getBargainPrice()+"");

        String detailUrl = gList.get(i).getImages();
        String replace = detailUrl.replace("https", "http");
        String[] split = replace.split("\\|");
        Glide.with(mContext).load(split[0]).into(holder.list_image);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext, XiangQingActivity.class);
                intent.putExtra("details", gList.get(0).getDetailUrl());
                mContext.startActivity(intent);
            }
        });



    }

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



    public class ViewHolder extends RecyclerView.ViewHolder {

        private  ImageView list_image;
        private  TextView list_name;
        private  TextView list_price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);

            list_image = itemView.findViewById(R.id.List_Image);
            list_name = itemView.findViewById(R.id.List_Name);
            list_price = itemView.findViewById(R.id.List_Price);

        }
    }



}

詳情

package com.example.mymodule20190115;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.example.mymodule20190115.bean.AddGouData;
import com.example.mymodule20190115.bean.MyListGoodsData;
import com.example.mymodule20190115.contacs.Contacts;
import com.example.mymodule20190115.presenter.PresenterImpl;
import com.example.mymodule20190115.view.IView;

import java.util.HashMap;

public class XiangQingActivity extends AppCompatActivity implements IView, View.OnClickListener {



    private PresenterImpl presenter;
    private int id;
    private int pid;
    private Button add_cart;
    private Button cart;
    private LinearLayout linear;
    private WebView web_view;
    private HashMap<String, String> map;
    private HashMap<String, Object> hashMap;
    private int uid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xiang_qing);
        initView();

        presenter = new PresenterImpl(this);
        Intent intent = getIntent();
        pid = intent.getIntExtra("pid", 0);
        uid = intent.getIntExtra("uid", 0);
        String details = intent.getStringExtra("details");

        map = new HashMap<>();
        hashMap = new HashMap<>();
        WebSettings settings = web_view.getSettings();
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setJavaScriptEnabled(true);
        web_view.loadUrl(details);
    }

    @Override
    public void Success(Object data) {

        if(data instanceof AddGouData){
            AddGouData addGouData= (AddGouData) data;
            if(addGouData.getCode().equals("0")){
                Toast.makeText(this,addGouData.getMsg()+"",Toast.LENGTH_SHORT).show();
            }

        }


    }

    @Override
    public void error(Object error) {

//        Toast.makeText(this,"錯誤",Toast.LENGTH_SHORT).show();
    }


    private void initView() {
        add_cart = (Button) findViewById(R.id.add_cart);
        cart = (Button) findViewById(R.id.cart);
        linear = (LinearLayout) findViewById(R.id.linear);
        web_view = (WebView) findViewById(R.id.web_view);

        add_cart.setOnClickListener(this);
        cart.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.add_cart:
                map.put("pid", pid + "");
                map.put("uid",uid+"");
                presenter.setRequseget(Contacts.ADDGOU_URL, map, hashMap, AddGouData.class);
                break;
            case R.id.cart:

               // Intent intent=new Intent(this,);
                break;
        }
    }
}

詳情佈局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".XiangQingActivity"

    >

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center">

        <Button
            android:id="@+id/add_cart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="加入購物車"
            android:textSize="25sp"/>

        <Button
            android:id="@+id/cart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="購物車"
            android:textSize="25sp" />
    </LinearLayout>

    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/linear"></WebView>

</RelativeLayout>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章