package com.example.zhoukaomoni.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.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.zhoukaomoni.R;
import com.example.zhoukaomoni.bean.UserBean;
import java.util.ArrayList;
import java.util.List;
public class ContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private List<UserBean.DataBean> mlist;
private Context mContext;
private boolean flag;
public ContentAdapter(Context context,boolean mflag){
mlist = new ArrayList<>();
mContext = context;
flag = mflag;
}
public void setMlist(List<UserBean.DataBean> list) {
mlist.clear();
if(list!=null)
{
mlist.addAll(list);
}
notifyDataSetChanged();
}
public void addMlist(List<UserBean.DataBean> list) {
if(list!=null)
{
mlist.addAll(list);
}
notifyDataSetChanged();
}
class ViewHolder extends RecyclerView.ViewHolder {
private TextView title,price,data;
private ImageView icon;
public ViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.three_title);
price = itemView.findViewById(R.id.three_price);
data = itemView.findViewById(R.id.three_data);
icon = itemView.findViewById(R.id.three_icon);
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
RecyclerView.ViewHolder holder = null;
if(flag)
{
View view = LayoutInflater.from(mContext).inflate(R.layout.three_item,viewGroup,false);
holder = new ViewHolder(view);
}else{
View view = LayoutInflater.from(mContext).inflate(R.layout.three_two,viewGroup,false);
holder = new ViewHolder(view);
}
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
ViewHolder holder = (ViewHolder) viewHolder;
holder.title.setText(mlist.get(i).getTitle());
holder.data.setText(mlist.get(i).getCreatetime());
holder.price.setText(mlist.get(i).getPrice()+"");
String R = "";
int K = mlist.get(i).getImages().length();
for (int j=0;j<K;j++)
{
if(mlist.get(i).getImages().substring(j,j+1).equals("|"))
{
R = mlist.get(i).getImages().substring(j+1,K).trim();
}
}
Glide.with(mContext).load(R).into(holder.icon);
}
@Override
public int getItemCount() {
return mlist.size();
}
}
Actvitiy
package com.example.zhoukaomoni.view;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.view.View;
import android.widget.Button;
import com.example.zhoukaomoni.R;
import com.example.zhoukaomoni.adapter.ContentAdapter;
import com.example.zhoukaomoni.bean.UserBean;
import com.example.zhoukaomoni.persenter.IPersenter;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity implements IView,View.OnClickListener {
private XRecyclerView contents;
private IPersenter mPersenter;
private ContentAdapter adapter;
private String url = "http://www.zhaoapi.cn/product/searchProducts?keywords=%E7%94%B5%E8%84%91";
private int page;
private boolean flag = true;
private List<UserBean.DataBean> dataBeans = new ArrayList<>();
private LinearLayoutManager linearLayoutManager;
private GridLayoutManager gridLayoutManager;
private Button play;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//加载id
initView();
//默认显示为第一页
page=1;
initRecyclerView();
//管理器
initManager();
//系统分割线
DividerItemDecoration decoration = new DividerItemDecoration(this,OrientationHelper.VERTICAL);
contents.addItemDecoration(decoration);
}
//加载id
private void initView() {
contents = findViewById(R.id.contents);
play = findViewById(R.id.play);
mPersenter = new IPersenter(this);
adapter = new ContentAdapter(this,flag);
contents.setAdapter(adapter);
play.setOnClickListener(this);
//开始请求
startRequest();
}
private void initManager() {
linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);
contents.setLayoutManager(linearLayoutManager);
gridLayoutManager = new GridLayoutManager(this,2);
gridLayoutManager.setOrientation(OrientationHelper.VERTICAL);
}
private void initRecyclerView() {
contents.setLoadingMoreEnabled(true);
contents.setPullRefreshEnabled(true);
contents.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
page=1;
startRequest();
}
@Override
public void onLoadMore() {
startRequest();
}
});
startRequest();
}
private void startRequest() {
Map<String,String> map = new HashMap<>();
map.put("page",page+"");
mPersenter.requestData(url,map,UserBean.class);
}
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.play:
flag=!flag;
adapter = new ContentAdapter(this,flag);
adapter.setMlist(dataBeans);
if(flag)
{
contents.setLayoutManager(linearLayoutManager);
}else{
contents.setLayoutManager(gridLayoutManager);
}
break;
}
}
@Override
public void showRequest(Object data) {
UserBean user = (UserBean) data;
if(page==1)
{
dataBeans.clear();
adapter.setMlist(user.getData());
}else{
adapter.addMlist(user.getData());
}
page++;
dataBeans.addAll(user.getData());
contents.refreshComplete();
contents.loadMoreComplete();
}
}