布局
<?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>