分类页面
package com.bwie.jd.view.fragment;
public class ClassifyFragment extends Fragment implements IMainView {
@BindView(R.id.sao)
ImageView sao;
@BindView(R.id.left_recyview)
RecyclerView leftRecyview;
@BindView(R.id.right_recyview)
RecyclerView rightRecyview;
Unbinder unbinder;
@BindView(R.id.banner)
FlyBanner banner;
@BindView(R.id.sou)
ImageView sou;
private MainPresenter mainPresenter;
private FenRightPresenter fenRightPresenter;
private int REQUEST_CODE = 200;
private List images = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_classify, container, false);
mainPresenter = new MainPresenter();
mainPresenter.attachView(this);
mainPresenter.loadDataFromNet();
fenRightPresenter = new FenRightPresenter();
fenRightPresenter.attachView(this);
fenRightPresenter.getDataRight("1");
unbinder = ButterKnife.bind(this, view);
return view;
}
@Override
public void onSuccess(final HomeBean.DataBean data) {
for (int i = 0; i < data.getBanner().size(); i++) {
// Log.e("tag", data.getFenlei().get(i).getName());
images.add(data.getBanner().get(i).getIcon());
}
banner.setImagesUrl(images);
//左分类
List<HomeBean.DataBean.FenleiBean> fenlei = data.getFenlei();
LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
leftRecyview.setLayoutManager(manager);
FZAdapter adapter = new FZAdapter(getActivity(), fenlei);
leftRecyview.setAdapter(adapter);
adapter.setOnItemClickListener(new FZAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
Toast.makeText(getActivity(), "点击了" + position, Toast.LENGTH_SHORT).show();
fenRightPresenter.getDataRight(String.valueOf(data.getFenlei().get(position).getCid()));
}
});
}
@Override
public void onErr(int errCode, String errMsg) {
}
@Override
public void rightSuccess(List<FenRightBean.DataBean> msg) {
// Toast.makeText(getActivity(), “msg:” + msg, Toast.LENGTH_SHORT).show();
// Log.i(“www”,msg.toString());
LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
rightRecyview.setLayoutManager(manager);
FYAdapter fyAdapter = new FYAdapter(msg, getActivity());
rightRecyview.setAdapter(fyAdapter);
}
@Override
public void onDestroy() {
super.onDestroy();
fenRightPresenter.dettachView();
mainPresenter.dettachView();
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
//扫一扫点击事件
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**
* 处理二维码扫描结果
*/
if (requestCode == REQUEST_CODE) {
//处理扫描结果(在界面上显示)
if (null != data) {
Bundle bundle = data.getExtras();
if (bundle == null) {
return;
}
if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
String result = bundle.getString(CodeUtils.RESULT_STRING);
Toast.makeText(getActivity(), "解析结果:" + result, Toast.LENGTH_LONG).show();
} else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
Toast.makeText(getActivity(), "解析二维码失败", Toast.LENGTH_LONG).show();
}
}
}
}
@OnClick({R.id.sao, R.id.sou})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.sao:
Intent intent = new Intent(getActivity(), CaptureActivity.class);
startActivityForResult(intent, REQUEST_CODE);
break;
case R.id.sou:
Intent intent2 = new Intent(getActivity(), SouActivity.class);
startActivity(intent2);
break;
}
}
}
FenModel
package com.bwie.jd.model;
public class FenRightModel {
public void RightModel(String cid, final MyRightCallBak myRightCallBak){
Log.i(“wowowo”,cid+"");
Observable data = HttpUtils.getHttpUtilsInstance().apiClient.getRightData(cid);
data.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(FenRightBean fenRightBean) {
List<FenRightBean.DataBean> data1 = fenRightBean.getData();
myRightCallBak.onSuccess(data1);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
public interface MyRightCallBak{
void onSuccess(List<FenRightBean.DataBean> data1);
}
}
Fenpresenter
package com.bwie.jd.presenter;
public class FenRightPresenter extends BasePresenter{
private final FenRightModel fenRightModel;
public FenRightPresenter(){
fenRightModel = new FenRightModel();
}
public void getDataRight(String cid) {
fenRightModel.RightModel(cid, new FenRightModel.MyRightCallBak() {
@Override
public void onSuccess(List<FenRightBean.DataBean> data1) {
getView().rightSuccess(data1);
}
});
}
}
FZAdapter
package com.bwie.jd.view.adapter;
public class FZAdapter extends RecyclerView.Adapter<FZAdapter.ListHolder>{
private Context context;
private List<HomeBean.DataBean.FenleiBean> data;
private OnItemClickListener onItemClickListener;
public FZAdapter(Context context, List<HomeBean.DataBean.FenleiBean> data) {
this.context = context;
this.data = data;
}
@NonNull
@Override
public ListHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.fzitem, parent, false);
ListHolder holder = new ListHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ListHolder holder, final int position) {
holder.text01.setText(data.get(position).getName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickListener!=null) {
onItemClickListener.onItemClick(position);
}
}
});
}
@Override
public int getItemCount() {
return data.size();
}
class ListHolder extends RecyclerView.ViewHolder{
private final TextView text01;
public ListHolder(View itemView) {
super(itemView);
text01 = itemView.findViewById(R.id.text01);
}
}
public interface OnItemClickListener{
void onItemClick(int position);
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
}
FYAdaoter
package com.bwie.jd.view.adapter;
public class FYAdapter extends RecyclerView.Adapter<FYAdapter.oneHolder>{
private List<FenRightBean.DataBean> msg;
private Context context;
public FYAdapter(List<FenRightBean.DataBean> msg, Context context) {
this.msg = msg;
this.context = context;
}
@NonNull
@Override
public oneHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.fritem, parent, false);
oneHolder holder = new oneHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull oneHolder holder, int position) {
GridLayoutManager manager1 = new GridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false);
ZiAdapter adapter = new ZiAdapter(msg,context);
holder.rec.setLayoutManager(manager1);
holder.rec.setAdapter(adapter);
holder.name.setText(msg.get(position).getName());
}
@Override
public int getItemCount() {
return msg.size();
}
class oneHolder extends RecyclerView.ViewHolder {
private final TextView name;
private final RecyclerView rec;
public oneHolder(View itemView) {
super(itemView);
name = itemView.findViewById(R.id.text_fen_name);
rec = itemView.findViewById(R.id.recycler_you_view);
}
}
}
ZIAdapter
package com.bwie.jd.view.adapter;
public class ZiAdapter extends RecyclerView.Adapter<ZiAdapter.Holder>{
private List<FenRightBean.DataBean> msg;
private Context context;
OnItemClickListener onClickListener;
public ZiAdapter(OnItemClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public ZiAdapter(List<FenRightBean.DataBean> msg, Context context) {
this.msg = msg;
this.context = context;
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.ziitem, parent, false);
Holder holder = new Holder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull Holder holder, final int position) {
Uri uri = Uri.parse(msg.get(position).getList().get(position).getIcon().split("\\|")[0]);
holder.sim.setImageURI(uri);
holder.name.setText(msg.get(position).getList().get(position).getName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, LieActivity.class);
//intent.putExtra("cid",msg.get(position).getCid());
intent.putExtra("name",msg.get(position).getList().get(position).getName());
context.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return msg.size();
}
class Holder extends RecyclerView.ViewHolder {
private final SimpleDraweeView sim;
private final TextView name;
public Holder(View itemView) {
super(itemView);
sim = itemView.findViewById(R.id.sim_dr_view);
name = itemView.findViewById(R.id.text_you_name);
}
}
public void setOnClickListener(OnItemClickListener onClickListener) {
this.onClickListener = onClickListener;
}
interface OnItemClickListener{
void onItemClickListener(int position);
}
}
布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
android:id="@+id/left_recyview"
android:layout_width=“0dp”
android:layout_height=“match_parent”
android:layout_weight=“2”
android:background="#F0F0F0"></android.support.v7.widget.RecyclerView>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="8"
android:layout_height="match_parent"
android:orientation="vertical"
>
<com.recker.flybanner.FlyBanner
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:id="@+id/banner"
></com.recker.flybanner.FlyBanner>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:id="@+id/right_recyview"
android:background="#fff"/>
</LinearLayout>