左边
model
package com.bawie.niu.mvp.model;
import android.widget.EditText;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 9:02
-
@Description:描述信息
*/
public interface IModel {
void zuo(ModelCallBack modelCallBack);interface ModelCallBack{
void onSuccess(Object data);
void onFail(Exception e);
}
}
//model实现类
package com.bawie.niu.mvp.model;
import com.bawie.niu.bean.Shop_Bean;
import com.bawie.niu.bean.Zuo_bean;
import com.bawie.niu.http.OKHttp;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 9:04
-
@Description:描述信息
*/
public class Model implements IModel {private String zuo_url=“http://172.17.8.100/small/commodity/v1/findFirstCategory”;
@Override
public void zuo(final ModelCallBack modelCallBack) {
OKHttp.getInstance().doGet(zuo_url, Zuo_bean.class, new OKHttp.NetCallBack() {
@Override
public void LoadSuccess(Object obj) {
modelCallBack.onSuccess(obj);
}@Override public void LoadFail() { } });
}
}
//presenter
package com.bawie.niu.mvp.presenter;
import com.bawie.niu.mvp.view.IView;
/**
- @Author:asus
- @E-mail: 945574298@163.com
- @Date:2019/3/23 9:12
- @Description:描述信息
*/
public interface IPresenter {
void gerPreData();
void attchView(IView iView);
void DeatchView(IView iView);
}
//presenter实现类
package com.bawie.niu.mvp.presenter;
import com.bawie.niu.fragment.Frag_02;
import com.bawie.niu.mvp.model.IModel;
import com.bawie.niu.mvp.model.Model;
import com.bawie.niu.mvp.view.IView;
import java.lang.ref.SoftReference;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 9:13
-
@Description:描述信息
*/
public class Presenter implements IPresenter {
private IView iView;private Model model;
private SoftReference modelSoftReference;@Override
public void gerPreData() {
model.zuo(new IModel.ModelCallBack() {
@Override
public void onSuccess(Object data) {
iView.getView(data);
}@Override public void onFail(Exception e) { } });
}
@Override
public void attchView(IView iView) {model = new Model(); this.iView= iView; modelSoftReference = new SoftReference<>(model);
}
@Override
public void DeatchView(IView iView) {
modelSoftReference.clear();
}
}
//view层
package com.bawie.niu.mvp.view;
/**
- @Author:asus
- @E-mail: 945574298@163.com
- @Date:2019/3/23 9:03
- @Description:描述信息
*/
public interface IView {
void getView(Object data);
void getYou(Object data);
}
//frag
package com.bawie.niu.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
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.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.bawie.niu.R;
import com.bawie.niu.adapter.YouAdapter;
import com.bawie.niu.adapter.ZuoAdapter;
import com.bawie.niu.bean.You_Bean;
import com.bawie.niu.bean.Zuo_bean;
import com.bawie.niu.mvp.presenter.Presenter;
import com.bawie.niu.mvp.presenter.YPresenterImpl;
import com.bawie.niu.mvp.presenter.Ypresenter;
import com.bawie.niu.mvp.view.IView;
import javax.security.auth.callback.Callback;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 9:43
-
@Description:描述信息
*/
public class Frag_02 extends Fragment implements IView {private RecyclerView zuo_layout;
private Presenter presenter;
private ZuoAdapter zuoAdapter;
private YPresenterImpl yPresenter;
private RecyclerView you_layout;@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_02, container, false);zuo_layout = view.findViewById(R.id.zuo); you_layout = view.findViewById(R.id.you); return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
presenter = new Presenter();
presenter.attchView(this);
presenter.gerPreData();yPresenter = new YPresenterImpl(); yPresenter.attacView(this);
}
@Override
public void getView(Object data) {
zuo_layout.setLayoutManager(new LinearLayoutManager(getActivity()));
Zuo_bean zuo_bean= (Zuo_bean) data;zuoAdapter = new ZuoAdapter(getActivity(),zuo_bean); zuo_layout.setAdapter(zuoAdapter); zuoAdapter.ZuoAdapter(new ZuoAdapter.RecleListner() { @Override public void CallBack(int i, String id) { yPresenter.getpppdata(id); } });
}
@Override
public void getYou(Object data) {
You_Bean you_bean = (You_Bean) data;
you_layout.setLayoutManager(new GridLayoutManager(getActivity(),3));
YouAdapter youAdapter = new YouAdapter(getActivity(), you_bean);
you_layout.setAdapter(youAdapter);
}
}
//右边
//model
package com.bawie.niu.mvp.model;
/**
- @Author:asus
- @E-mail: 945574298@163.com
- @Date:2019/3/23 14:27
- @Description:描述信息
*/
public interface YModel {
void you(String id,YModelCallBack yModelCallBack);
interface YModelCallBack{
void onSuccess(Object data);
void onFail(Exception e);
}
}
//model实现类
package com.bawie.niu.mvp.model;
import com.bawie.niu.bean.You_Bean;
import com.bawie.niu.http.OKHttp;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 14:29
-
@Description:描述信息
*/
public class YModelImpl implements YModel{
private String you_url=“http://172.17.8.100/small/commodity/v1/findSecondCategory”;@Override
public void you(String id, final YModelCallBack yModelCallBack) {
OKHttp.getInstance().doGet(you_url+"?"+“firstCategoryId=”+id, You_Bean.class, new OKHttp.NetCallBack() {
@Override
public void LoadSuccess(Object obj) {
yModelCallBack.onSuccess(obj);
}@Override public void LoadFail() { } });
}
}
//presenter
package com.bawie.niu.mvp.presenter;
import com.bawie.niu.mvp.view.IView;
/**
- @Author:asus
- @E-mail: 945574298@163.com
- @Date:2019/3/23 14:37
- @Description:描述信息
*/
public interface Ypresenter {
void getpppdata(String id);
void attacView(IView iView);
void DeatchView(IView iView);
}
/*/presenter实现类
package com.bawie.niu.mvp.presenter;
import com.bawie.niu.mvp.model.YModel;
import com.bawie.niu.mvp.model.YModelImpl;
import com.bawie.niu.mvp.view.IView;
import java.lang.ref.SoftReference;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 14:38
-
@Description:描述信息
*/
public class YPresenterImpl implements Ypresenter{
private IView iView;
private SoftReference yModelSoftReference;
private YModelImpl yModel;
@Override
public void getpppdata(String id) {yModel.you(id, new YModel.YModelCallBack() {
@Override
public void onSuccess(Object data) {
iView.getYou(data);
}@Override public void onFail(Exception e) { }
});
}@Override
public void attacView(IView iView) {
yModel = new YModelImpl();
this.iView=iView;
yModelSoftReference = new SoftReference<>(yModel);
}@Override
public void DeatchView(IView iView) {
yModelSoftReference.clear();
}
}
adapter
zuobain
package com.bawie.niu.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.LinearLayout;
import android.widget.TextView;
import com.bawie.niu.R;
import com.bawie.niu.bean.Zuo_bean;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 11:28
-
@Description:描述信息
*/
public class ZuoAdapter extends RecyclerView.Adapter<ZuoAdapter.ViewHolder> {
private Context context;
private Zuo_bean zuo_bean;public ZuoAdapter(Context context, Zuo_bean zuo_bean) {
this.context = context;
this.zuo_bean = zuo_bean;
}@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.zuo_item, null);
return new ViewHolder(view);
}@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
viewHolder.textView.setText(zuo_bean.getResult().get(i).getName());
//点击事件
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
recleListner.CallBack(v.getId(),zuo_bean.getResult().get(i).getId());
}
});
}@Override
public int getItemCount() {
return zuo_bean.getResult().size();
}public class ViewHolder extends RecyclerView.ViewHolder {
private final TextView textView; public ViewHolder(@NonNull View itemView) { super(itemView); textView = itemView.findViewById(R.id.text000); }
}
RecleListner recleListner;public void ZuoAdapter(RecleListner recleListner) {
this.recleListner = recleListner;
}
//接口回调
public interface RecleListner{
void CallBack(int i,String id);
}
}
//youbian
package com.bawie.niu.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.bawie.niu.R;
import com.bawie.niu.bean.You_Bean;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/3/23 11:28
-
@Description:描述信息
*/
public class YouAdapter extends RecyclerView.Adapter<YouAdapter.ViewHolder> {
private Context context;
private You_Bean you_bean;public YouAdapter(Context context, You_Bean you_bean) {
this.context = context;
this.you_bean = you_bean;
}@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.you_item, null);
return new ViewHolder(view);
}@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
viewHolder.textView.setText(you_bean.getResult().get(i).getName());}
@Override
public int getItemCount() {
return you_bean.getResult().size();
}public class ViewHolder extends RecyclerView.ViewHolder {
private final TextView textView; public ViewHolder(@NonNull View itemView) { super(itemView); textView = itemView.findViewById(R.id.text000); }
}
}