public class MainActivity extends BaseActivity {
@BindView(R.id.img_menu)
ImageView imgMenu;
@BindView(R.id.edit)
EditText edit;
@BindView(R.id.search_text)
TextView searchText;
@BindView(R.id.xrecy)
XRecyclerView xrecy;
int page = 1;
int count = 5;
private GoodsAdapter goodsAdapter;
@Override
protected int getContentView() {
return R.layout.activity_main;
}
@Override
protected void initview() {
ButterKnife.bind(this);
}
@Override
protected void initData() {
}
private void initsomedata() {
String content = edit.getText().toString().trim();
IRequest iRequest = RetrofitUtils.getInstance().create(IRequest.class);
iRequest.getGoods(content, "" + page, "5")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Goods>() {
@Override
public void accept(Goods goods) throws Exception {
if (goods != null) {
List<Goods.ResultBean> list = goods.getResult();
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this, 2, GridLayoutManager.VERTICAL, false);
xrecy.setLayoutManager(gridLayoutManager);
goodsAdapter = new GoodsAdapter(MainActivity.this, list);
xrecy.setAdapter(goodsAdapter);
}
}
});
}
@OnClick(R.id.search_text)
public void onViewClicked() {
String edit_content = edit.getText().toString().trim();
if (TextUtils.isEmpty(edit_content)) {
Toast.makeText(this, "输入内容不可为空", Toast.LENGTH_SHORT).show();
} else {
IRequest iRequest = RetrofitUtils.getInstance().create(IRequest.class);
iRequest.getGoods(edit_content, "" + page, "5")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Goods>() {
@Override
public void accept(Goods goods) throws Exception {
if (goods != null) {
List<Goods.ResultBean> list = goods.getResult();
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this, 2, GridLayoutManager.VERTICAL, false);
xrecy.setLayoutManager(gridLayoutManager);
goodsAdapter = new GoodsAdapter(MainActivity.this, list);
xrecy.setAdapter(goodsAdapter);
goodsAdapter.setOnGoodItemClick(new GoodsAdapter.onGoodItemClick() {
@Override
public void onItemClick(int i) {
Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
intent.putExtra("commodityId", i);
startActivity(intent);
}
});
}
xrecy.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
page=1;
initsomedata();
xrecy.refreshComplete();
}
}, 2000);
}
@Override
public void onLoadMore() {
page++;
initsomedata();
xrecy.loadMoreComplete();
}
});
}
});
}
}
}
public class GoodsAdapter extends RecyclerView.Adapter<GoodsAdapter.ViewHolder> {
public Context context;
public List<Goods.ResultBean> list;
public GoodsAdapter(Context context, List<Goods.ResultBean> list) {
this.context = context;
this.list = list;
}
public interface onGoodItemClick{
void onItemClick(int i);
}
public onGoodItemClick monGoodItemClick;
public void setOnGoodItemClick(onGoodItemClick onGoodItemClick){
monGoodItemClick=onGoodItemClick;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.goods_item, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
viewHolder.goods_item_img.setImageURI(list.get(i).getMasterPic());
viewHolder.goods_item_title.setText(list.get(i).getCommodityName());
viewHolder.goods_item_price.setText("¥:"+list.get(i).getPrice());
viewHolder.goods_item_shou.setText("已售"+list.get(i).getSaleNum()+"件");
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int commodityId = list.get(i).getCommodityId();
if (monGoodItemClick!=null){
monGoodItemClick.onItemClick(commodityId);
}
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private final TextView goods_item_title;
private final TextView goods_item_price;
private final TextView goods_item_shou;
private final SimpleDraweeView goods_item_img;
public ViewHolder(@NonNull View itemView) {
super(itemView);
goods_item_img = itemView.findViewById(R.id.goods_item_img);
goods_item_title = itemView.findViewById(R.id.goods_item_title);
goods_item_price = itemView.findViewById(R.id.goods_item_price);
goods_item_shou = itemView.findViewById(R.id.goods_item_shou);
}
}
}