FansAdapter.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.android.chmo.ui.adpater;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.support.annotation.NonNull;
  6. import android.support.v7.widget.RecyclerView;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.TextView;
  11. import com.android.chmo.R;
  12. import com.android.chmo.http.HttpApi;
  13. import com.android.chmo.http.RequestCallback;
  14. import com.android.chmo.http.response.ModelListRes;
  15. import com.android.chmo.http.service.ModelService;
  16. import com.android.chmo.model.MemberInfo;
  17. import com.android.chmo.model.ModelInfo;
  18. import com.android.chmo.ui.activity.model.ModelDetailActivity;
  19. import com.android.chmo.ui.view.RoundImageView;
  20. import com.android.chmo.utils.XUtilsImage;
  21. import com.google.gson.Gson;
  22. import java.util.List;
  23. import butterknife.BindView;
  24. import butterknife.ButterKnife;
  25. public class FansAdapter extends RecyclerView.Adapter<FansAdapter.FansHolder> {
  26. private Context context;
  27. private List<MemberInfo> data;
  28. public FansAdapter(Context context, List<MemberInfo> data) {
  29. this.context = context;
  30. this.data = data;
  31. }
  32. @NonNull
  33. @Override
  34. public FansHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
  35. return new FansHolder(LayoutInflater.from(context).inflate(R.layout.list_fans, viewGroup, false));
  36. }
  37. @Override
  38. public void onBindViewHolder(@NonNull FansHolder fansHolder, int i) {
  39. MemberInfo info = data.get(i);
  40. XUtilsImage.display(fansHolder.ivAvatar, HttpApi.getImgUrl(data.get(i).hPhoto));
  41. fansHolder.tvName.setText(data.get(i).Pet);
  42. boolean isModel = "7".equals(info.MembType);
  43. if (isModel) {
  44. fansHolder.tvModel.setVisibility(View.VISIBLE);
  45. fansHolder.itemView.setOnClickListener(v -> ModelService.getModelInfoByMemberPK(info.PK, new RequestCallback() {
  46. @Override
  47. public void onSuccess(String result) {
  48. ModelListRes res = new Gson().fromJson(result, ModelListRes.class);
  49. if (res.data != null && res.data.size() > 0) {
  50. ModelInfo model = res.data.get(0);
  51. Intent intent = new Intent(context, ModelDetailActivity.class);
  52. intent.putExtra("model", model);
  53. intent.putExtra("modelPk", model.modelpk);
  54. context.startActivity(intent);
  55. }
  56. }
  57. @Override
  58. public void onFailure(String error) {
  59. }
  60. }));
  61. } else {
  62. fansHolder.tvModel.setVisibility(View.GONE);
  63. fansHolder.itemView.setOnClickListener(null);
  64. }
  65. }
  66. @Override
  67. public int getItemCount() {
  68. return data.size();
  69. }
  70. class FansHolder extends RecyclerView.ViewHolder {
  71. @BindView(R.id.iv_avatar)
  72. RoundImageView ivAvatar;
  73. @BindView(R.id.tv_name)
  74. TextView tvName;
  75. @BindView(R.id.tv_model)
  76. TextView tvModel;
  77. public FansHolder(@NonNull View itemView) {
  78. super(itemView);
  79. ButterKnife.bind(this, itemView);
  80. }
  81. }
  82. }