<LinearLayout 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"
android:orientation="vertical"
tools:context=".ui.activity.MainActivity">
<FrameLayout
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9">
</FrameLayout>
<RadioGroup
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<RadioButton
android:checked="true"
android:background="@drawable/sel_bj"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="购物车" />
<RadioButton
android:background="@drawable/sel_bj"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="我的" />
</RadioGroup>
</LinearLayout>
//AddSubLayout
public class AddSubLayout extends LinearLayout implements View.OnClickListener {
private TextView mAddBtn,mSubBtn;
private TextView mNumText;
private AddSubListener addSubListener;
public AddSubLayout(Context context) {
super(context);
initView();
}
public AddSubLayout(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
public AddSubLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView();
}
private void initView(){
//加载layout布局,第三个参数ViewGroup一定写成this
View view = View.inflate(getContext(),R.layout.car_add_sub,this);
mAddBtn = view.findViewById(R.id.btn_add);
mSubBtn = view.findViewById(R.id.btn_sub);
mNumText = view.findViewById(R.id.text_number);
mAddBtn.setOnClickListener(this);
mSubBtn.setOnClickListener(this);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
int width = r-l;//getWidth();
int height = b-t;//getHeight();
}
@Override
public void onClick(View v) {
int number = Integer.parseInt(mNumText.getText().toString());
switch (v.getId()){
case R.id.btn_add:
number++;
mNumText.setText(number+"");
break;
case R.id.btn_sub:
if (number==0){
Toast.makeText(getContext(),"数量不能小于0",Toast.LENGTH_LONG).show();
return;
}
number--;
mNumText.setText(number+"");
break;
}
if (addSubListener!=null){
addSubListener.addSub(number);
}
}
public void setCount(int count) {
mNumText.setText(count+"");
}
public void setAddSubListener(AddSubListener addSubListener) {
this.addSubListener = addSubListener;
}
public interface AddSubListener{
void addSub(int count);
}
}
//CarAdapter
public class CarAdapter extends BaseExpandableListAdapter {
private Context mContext;
private List<CarBean.DataBean> mShopList = new ArrayList<>();
public CarAdapter(Context mContext) {
this.mContext = mContext;
}
@Override
public int getGroupCount() {
return mShopList.size();
}
@Override
public int getChildrenCount(int groupPosition) {
return mShopList.get(groupPosition).getList().size();
}
@Override
public Object getGroup(int groupPosition) {
return mShopList.get(groupPosition);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return mShopList.get(groupPosition).getList().get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return false;
}
public void addAll(List<CarBean.DataBean> data){
if (data!=null){
mShopList.addAll(data);
}
}
@Override
public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
GroupHodler hodler=null;
if (convertView==null){
convertView = View.inflate(parent.getContext(), R.layout.cart2_group_item, null);
hodler = new GroupHodler();
hodler.checkBox=convertView.findViewById(R.id.checkBox);
convertView.setTag(hodler);
}else {
hodler = (GroupHodler) convertView.getTag();
}
final CarBean.DataBean dataBean = mShopList.get(groupPosition);
//给商家赋值
hodler.checkBox.setText(dataBean.getSellerName());
//设置商家选中状态
hodler.checkBox.setChecked(dataBean.isCheck());
//经过修改改为点击事件
hodler.checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox checkBox= (CheckBox) view;
dataBean.setCheck(checkBox.isChecked());
//得到商品信息
List<CarBean.DataBean.ListBean> list = mShopList.get(groupPosition).getList();
//商品信息赋值循环
for (int i = 0; i < list.size(); i++) {
list.get(i).setSelected(checkBox.isChecked()? 1:0);
}
notifyDataSetChanged();
//计算价格
calculatePrice();
}
});
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
ChildHolder childHolder = null;
if (convertView == null) {
convertView = View.inflate(parent.getContext(), R.layout.cart_item, null);
childHolder = new ChildHolder();
childHolder.text = convertView.findViewById(R.id.text);
childHolder.price = convertView.findViewById(R.id.text_price);
childHolder.image = convertView.findViewById(R.id.image);
childHolder.addSub = convertView.findViewById(R.id.add_sub_layout);
childHolder.check = convertView.findViewById(R.id.cart_goods_check);
convertView.setTag(childHolder);
} else {
childHolder = (ChildHolder) convertView.getTag();
}
//进行赋值
final CarBean.DataBean.ListBean listBean = mShopList.get(groupPosition).getList().get(childPosition);
//商品标题
childHolder.text.setText(listBean.getTitle());
//单价
childHolder.price.setText("单价:" + listBean.getPrice());
String imageurl = "https" + listBean.getImages().split("https")[1];
Log.i("dt", "imageUrl: " + imageurl);
//加载图片
imageurl = imageurl.substring(0, imageurl.lastIndexOf(".jpg") + ".jpg".length());
Glide.with(mContext).load(imageurl).into(childHolder.image);
//设置复选框 点击选中, 价格发生变化(计算价格 )
//修改之后
childHolder.check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox checkBox = (CheckBox) view;
listBean.setSelected(checkBox.isChecked() ? 1 : 0);
//计算价格
calculatePrice();
}
});
//设置加减器
childHolder.addSub.setCount(listBean.getCount());
childHolder.addSub.setAddSubListener(new AddSubLayout.AddSubListener() {
@Override
public void addSub(int count) {
listBean.setNum(count);
//计算价格
calculatePrice();
}
});
if (listBean.getSelected() == 0) {
childHolder.check.setChecked(false);
} else {
childHolder.check.setChecked(true);
}
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
//内部父类
class GroupHodler {
CheckBox checkBox;
}
//内部子类
class ChildHolder {
CheckBox check;
TextView text;
TextView price;
ImageView image;
AddSubLayout addSub;
}
//计算价格
private void calculatePrice() {
//设置初始值
double totalPrice = 0;
//循环的商家
for (int i = 0; i < mShopList.size(); i++) {
CarBean.DataBean dataBean = mShopList.get(i);
//循环商品
for (int j = 0; j < dataBean.getList().size(); j++) {
CarBean.DataBean.ListBean listBean = dataBean.getList().get(j);
//如果是选中状态
if (listBean.getSelected() == 1) {
totalPrice = totalPrice + listBean.getNum() * listBean.getPrice();
}
}
}
if (totalPriceListener != null)
totalPriceListener.totalPrice(totalPrice);
}
//接口回调
public interface TotalPriceListener {
void totalPrice(double totalPrice);
}
private TotalPriceListener totalPriceListener;
public void setTotalPriceListener(TotalPriceListener totalPriceListener) {
this.totalPriceListener = totalPriceListener;
}
//全部选中或者取消
public void checkAll(boolean isCheck) {
//循环商家爱
for (int i = 0; i < mShopList.size(); i++) {
CarBean.DataBean dataBean = mShopList.get(i);
dataBean.setCheck(isCheck);
for (int j = 0; j < dataBean.getList().size(); j++) {
CarBean.DataBean.ListBean listBean = dataBean.getList().get(j);
listBean.setSelected(isCheck ? 1 : 0);
}
}
notifyDataSetChanged();
calculatePrice();
}
}
MainActivity
public class MainActivity extends AppCompatActivity {
@BindView(R.id.fl)
FrameLayout fl;
@BindView(R.id.rg)
RadioGroup rg;
private Frag_01 frag_01;
private Frag_02 frag_02;
private FragmentManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
ArrayList<Fragment> flist = new ArrayList<>();
frag_01 = new Frag_01();
frag_02 = new Frag_02();
manager = getSupportFragmentManager();
FragmentTransaction f1 = manager.beginTransaction();
f1.add(R.id.fl,frag_01).show(frag_01);
f1.add(R.id.fl,frag_02).hide(frag_02);
f1.commit();
rg.check(rg.getChildAt(0).getId());
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction f2 = manager.beginTransaction();
switch (checkedId){
case 1:
f2.show(frag_01).hide(frag_02);
break;
case 2:
f2.show(frag_02).hide(frag_01);
break;
}
f2.commit();
}
});
}
}
bean
public class CarBean {
/**
* msg : 请求成功
* code : 0
* data : [{"list":[{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","num":1,"pid":45,"price":2999,"pscid":39,"selected":0,"sellerid":1,"subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机"}],"sellerName":"商家1","sellerid":"1"},{"list":[{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd.com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","num":1,"pid":46,"price":234,"pscid":39,"selected":0,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样","title":"Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"}],"sellerName":"商家2","sellerid":"2"},{"list":[{"bargainPrice":1599,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/1993026402.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t5863/302/8961270302/97126/41feade1/5981c81cNc1b1fbef.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7003/250/1488538438/195825/53bf31ba/5981c57eN51e95176.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5665/100/8954482513/43454/418611a9/5981c57eNd5fc97ba.jpg!q70.jpg","num":1,"pid":47,"price":111,"pscid":39,"selected":0,"sellerid":3,"subhead":"碳黑色 32GB 全网通 官方标配 1件","title":"锤子 坚果Pro 特别版 巧克力色 酒红色 全网通 移动联通电信4G手机 双卡双待 碳黑色 32GB 全网通"}],"sellerName":"商家3","sellerid":"3"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":7,"pid":3,"price":198,"pscid":1,"selected":0,"sellerid":19,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家19","sellerid":"19"}]
*/
private String msg;
private String code;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* list : [{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","num":1,"pid":45,"price":2999,"pscid":39,"selected":0,"sellerid":1,"subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机"}]
* sellerName : 商家1
* sellerid : 1
*/
private String sellerName;
private String sellerid;
private List<ListBean> list;
boolean check;
public boolean isCheck() {
return check;
}
public void setCheck(boolean check) {
this.check = check;
}
public String getSellerName() {
return sellerName;
}
public void setSellerName(String sellerName) {
this.sellerName = sellerName;
}
public String getSellerid() {
return sellerid;
}
public void setSellerid(String sellerid) {
this.sellerid = sellerid;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
/**
* bargainPrice : 99
* createtime : 2017-10-14T21:38:26
* detailUrl : https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends
* images : https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg
* num : 1
* pid : 45
* price : 2999
* pscid : 39
* selected : 0
* sellerid : 1
* subhead : 高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!
* title : 一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机
*/
private double bargainPrice;
private String createtime;
private String detailUrl;
private String images;
private int num;
private int pid;
private double price;
private int pscid;
private int selected;
private int sellerid;
private String subhead;
private String title;
private int count=1;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public double getBargainPrice() {
return bargainPrice;
}
public void setBargainPrice(int bargainPrice) {
this.bargainPrice = bargainPrice;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getDetailUrl() {
return detailUrl;
}
public void setDetailUrl(String detailUrl) {
this.detailUrl = detailUrl;
}
public String getImages() {
return images;
}
public void setImages(String images) {
this.images = images;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public double getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getPscid() {
return pscid;
}
public void setPscid(int pscid) {
this.pscid = pscid;
}
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
public int getSellerid() {
return sellerid;
}
public void setSellerid(int sellerid) {
this.sellerid = sellerid;
}
public String getSubhead() {
return subhead;
}
public void setSubhead(String subhead) {
this.subhead = subhead;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
}
}
//契约类
public class IGoodContract {
//V层
public interface IGoodView{
public void goodData(CarBean carBean);
}
//P层
public interface IGoodPresenter<IGoodView>{
//绑定
public void atteach(IGoodView iGoodView);
//解绑
public void deacth(IGoodView iGoodView);
//传值
public void goodData();
}
//M层
public interface IGoodModel{
public void goodModel(Callback callback);
//接口
public interface Callback{
public void responseData(CarBean carBean);
}
}
}
//Constans
public class Constant {
public static final String URL="http://172.17.8.101:8081/ks/";
}
//IGoodModelInfo
public class IGoodModelInfo implements IGoodContract.IGoodModel {
@Override
public void goodModel(final Callback callback) {
// Retrofit build = new Retrofit.Builder()
//// .baseUrl(Constant.URL)
//// .build();
//// ApiService service = build.create(ApiService.class);
//// Call<ResponseBody> good = service.getGood();
//// good.enqueue(new retrofit2.Callback<ResponseBody>() {
//// @Override
//// public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
//// try {
//// String responseData = response.body().string();
//// CarBean carBean = new Gson().fromJson(responseData, CarBean.class);
//// callback.responseData(carBean);
//// } catch (IOException e) {
//// e.printStackTrace();
//// }
//// }
////
//// @Override
//// public void onFailure(Call<ResponseBody> call, Throwable t) {
////
//// }
//// });
RetrofitUtil.getInstance()
.resultEnqueue(ApiService.class, new retrofit2.Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String responseData = response.body().string();
CarBean carBean = new Gson().fromJson(responseData, CarBean.class);
callback.responseData(carBean);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
}
//IGoodPresenterInfo
public class IGoodPresenterInfo implements IGoodContract.IGoodPresenter<IGoodContract.IGoodView> {
IGoodContract.IGoodView iGoodView;
private SoftReference<IGoodContract.IGoodView> iGoodViewSoftReference;
private IGoodModelInfo iGoodModelInfo;
@Override
public void atteach(IGoodContract.IGoodView iGoodView) {
this.iGoodView=iGoodView;
iGoodViewSoftReference = new SoftReference<>(iGoodView);
iGoodModelInfo = new IGoodModelInfo();
}
@Override
public void deacth(IGoodContract.IGoodView iGoodView) {
iGoodViewSoftReference.clear();
}
@Override
public void goodData() {
iGoodModelInfo.goodModel(new IGoodContract.IGoodModel.Callback() {
@Override
public void responseData(CarBean carBean) {
iGoodView.goodData(carBean);
}
});
}
}
//ApiService
public interface ApiService {
//product/getCarts?uid=51
@GET("product/getCarts?uid=51")
Call<ResponseBody> getGood();
}
//Frag
public class Frag_01 extends Fragment implements IGoodContract.IGoodView ,CarAdapter.TotalPriceListener{
@BindView(R.id.list_car)
ExpandableListView listCar;
@BindView(R.id.car_check_all)
CheckBox carCheckAll;
@BindView(R.id.car_tv_heji)
TextView carTvHeji;
@BindView(R.id.car_tv_qujiesuan)
TextView carTvQujiesuan;
Unbinder unbinder;
private IGoodPresenterInfo iGoodPresenterInfo;
private CarAdapter carAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
iGoodPresenterInfo = new IGoodPresenterInfo();
carAdapter = new CarAdapter(getActivity());
listCar.setAdapter(carAdapter);
iGoodPresenterInfo.atteach(this);
iGoodPresenterInfo.goodData();
carAdapter.setTotalPriceListener(this);
carCheckAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
carAdapter.checkAll(isChecked);
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
@OnClick(R.id.car_tv_qujiesuan)
public void onViewClicked() {
}
@Override
public void goodData(CarBean carBean) {
List<CarBean.DataBean> list = carBean.getData();
carAdapter.addAll(list);
int size = carBean.getData().size();
for (int i = 0; i < size; i++) {
listCar.expandGroup(i);
}
carAdapter.notifyDataSetChanged();
}
@Override
public void totalPrice(double totalPrice) {
carTvHeji.setText(String.valueOf(totalPrice));
}
}
//Utils
public class RetrofitUtil {
private final Retrofit retrofit;
private static RetrofitUtil retrofitUtil;
private RetrofitUtil(){
retrofit = new Retrofit.Builder()
.baseUrl(Constant.URL)
.build();
}
public static RetrofitUtil getInstance(){
if(null==retrofitUtil){
synchronized (RetrofitUtil.class){
if(null==retrofitUtil){
retrofitUtil = new RetrofitUtil();
}
}
}
return retrofitUtil;
}
// public ApiService getServiceInstance(ApiService apiService){
//
// ApiService api = retrofit.create(apiService.getClass());
// return api;
// }
//
//
// public Call<ResponseBody> getCall(ApiService apiService){
//
// ApiService api = retrofit.create(apiService.getClass());
// Call<ResponseBody> call = api.getGood();
// return call;
// }
public void resultEnqueue(Class<ApiService> serviceClass, Callback<ResponseBody> callback){
ApiService api = retrofit.create(serviceClass);
Call<ResponseBody> call = api.getGood();
call.enqueue(callback);
}
}