订单
public class OrderFragment extends Fragment {
@BindView(R.id.tabLayoutId)
TabLayout tabLayoutId;
@BindView(R.id.recyclerView_order)
RecyclerView recyclerViewOrder;
private Realm realm;
private Unbinder unbinder;
private String[] titles = {"全部","待付款","待收货","待评价","已完成"};
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_order, container, false);
unbinder = ButterKnife.bind(this, view);
initTabs();
initData();
tabLayoutId.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
switch(tab.getPosition()){
case 0:
recyclerViewOrder.setVisibility(View.VISIBLE);
initData();
break;
case 1:
recyclerViewOrder.setVisibility(View.VISIBLE);
initData();
break;
default:
recyclerViewOrder.setVisibility(View.GONE);
Toast.makeText(getActivity(), "暂无数据!", Toast.LENGTH_SHORT).show();
break;
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
return view;
}
private void initData() {
realm = Realm.getDefaultInstance();
//查询数据库---->HomeBean
HomeBean homeBean = realm.where(HomeBean.class).findFirst();
if (homeBean != null && homeBean.getHomeshops().size()>0) {//这个判断必须要写(防止第一次直接点了订单 数据为null)
Log.i("TAG", "initData: 查询数据库--->"+homeBean.getHomeshops().size());
recyclerViewOrder.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerViewOrder.setAdapter(new OrderAdapter(getActivity(),homeBean.getHomeshops()));
}
}
private void initTabs() {
for (int i = 0; i < titles.length; i++) {
tabLayoutId.addTab(tabLayoutId.newTab().setText(titles[i]));
}
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
}
订单的适配器
public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.ViewHolder> {
private Context context;
private List<HomeshopsBean> homeshopsBeans;//数据源集合
private Realm realm;
public OrderAdapter(Context context, List<HomeshopsBean> homeshopsBeans) {
this.context = context;
this.homeshopsBeans = homeshopsBeans;
realm = Realm.getDefaultInstance();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(context).inflate(R.layout.order_item, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
HomeshopsBean homeshopsBean = homeshopsBeans.get(position);
//设置数据
holder.username.setText(homeshopsBean.getUser().getUsername());
holder.bookname.setText(homeshopsBean.getBookname());
holder.appearance.setText(homeshopsBean.getAppearance());
holder.location.setText(homeshopsBean.getLocation());
holder.nowprice.setText("¥"+homeshopsBean.getNowprice());
String[] images = homeshopsBean.getImages().split(",");
Glide.with(context).load(images[0]).into(holder.bookImage);
//删除订单
holder.deleteOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
realm.beginTransaction();
//删除数据
homeshopsBeans.remove(position);
notifyDataSetChanged();
Toast.makeText(context, "删除成功!", Toast.LENGTH_SHORT).show();
realm.commitTransaction();
}
});
}
@Override
public int getItemCount() {
return homeshopsBeans.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.username)
TextView username;
@BindView(R.id.bookImage)
ImageView bookImage;
@BindView(R.id.bookname)
TextView bookname;
@BindView(R.id.appearance)
TextView appearance;
@BindView(R.id.location)
TextView location;
@BindView(R.id.nowprice)
TextView nowprice;
@BindView(R.id.deleteOrder)
TextView deleteOrder;//删除订单
public ViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
}