HomeFragment.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package com.wisdom.hydroponics.ui.fragment;
  2. import android.content.Intent;
  3. import android.graphics.Rect;
  4. import android.os.Handler;
  5. import android.os.Message;
  6. import android.text.TextUtils;
  7. import android.view.LayoutInflater;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.ImageView;
  11. import android.widget.TextView;
  12. import androidx.recyclerview.widget.DefaultItemAnimator;
  13. import androidx.recyclerview.widget.GridLayoutManager;
  14. import androidx.recyclerview.widget.RecyclerView;
  15. import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
  16. import com.bumptech.glide.Glide;
  17. import com.bumptech.glide.load.resource.bitmap.CircleCrop;
  18. import com.bumptech.glide.request.RequestOptions;
  19. import com.google.gson.Gson;
  20. import com.wisdom.hydroponics.R;
  21. import com.wisdom.hydroponics.adapters.Grid_Image_Adapter;
  22. import com.wisdom.hydroponics.base.BaseFragment;
  23. import com.wisdom.hydroponics.bean.HomeDeviceItemBean;
  24. import com.wisdom.hydroponics.ui.activity.AddDevice_1_Activity;
  25. import com.wisdom.hydroponics.ui.activity.DeviceDetailActivity;
  26. import com.wisdom.hydroponics.utils.SPUtil;
  27. import com.wisdom.hydroponics.utils.WQNetUtil;
  28. import com.wisdom.hydroponics.utils.WQUtils;
  29. import org.json.JSONException;
  30. import org.json.JSONObject;
  31. import java.util.ArrayList;
  32. import java.util.List;
  33. import butterknife.BindView;
  34. import butterknife.OnClick;
  35. /**
  36. * Created by wq on 2018/1/16.
  37. */
  38. public class HomeFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
  39. @BindView(R.id.iv_home_icon)
  40. ImageView ivHomeIcon;
  41. @BindView(R.id.tv_home_name)
  42. TextView tvHomeName;
  43. @BindView(R.id.tv_home_add)
  44. TextView tvHomeAdd;
  45. @BindView(R.id.mRecyclerView)
  46. RecyclerView mRecyclerView;
  47. @BindView(R.id.refreshLayout)
  48. SwipeRefreshLayout refreshLayout;
  49. @Override
  50. public View initView(LayoutInflater inflater, ViewGroup container) {
  51. View view = inflater.inflate(R.layout.fragment_home, container, false);
  52. return view;
  53. }
  54. @Override
  55. public void initData() {
  56. refreshLayout.setOnRefreshListener(this);
  57. refreshLayout.setColorScheme(R.color.base_online,
  58. R.color.base_down,
  59. R.color.base_error,
  60. R.color.base_todo);
  61. tvHomeName.setText("阿打 >");
  62. Glide.with(context).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201409%2F22%2F20140922122621_fxvj8.thumb.700_0.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1624158465&t=90c78370fbc0a5322f02c04f8d991d39")
  63. .apply(RequestOptions.bitmapTransform(new CircleCrop()))
  64. .into(ivHomeIcon);
  65. String user_id = SPUtil.getString(context, "User_ID");
  66. if (!TextUtils.isEmpty(user_id)) {
  67. getData(user_id);
  68. }
  69. }
  70. private void getData(String user_id) {
  71. JSONObject jsonObj = new JSONObject();
  72. try {
  73. jsonObj.put("PageIndex", 1);
  74. jsonObj.put("PageSize", 10);
  75. jsonObj.put("KeyWords", "");
  76. jsonObj.put("Sort", "");
  77. jsonObj.put("IsAsc", true);
  78. jsonObj.put("UserID", user_id);
  79. } catch (JSONException e) {
  80. e.printStackTrace();
  81. }
  82. // 发送网络请求
  83. WQNetUtil.postHttp(context, jsonObj, SPUtil.getString(context, "URL") + "Device/GetAllUserBindMac", handler);
  84. }
  85. private List<HomeDeviceItemBean.ResultBean.ModelsBean> list;
  86. private Handler handler = new Handler() {
  87. public void handleMessage(Message msg) {
  88. String json = (String) msg.obj;
  89. Gson gson = new Gson();
  90. HomeDeviceItemBean homeDeviceItemBean = gson.fromJson(json, HomeDeviceItemBean.class);
  91. if (homeDeviceItemBean != null && homeDeviceItemBean.getReturnCode() == 200) {
  92. if (homeDeviceItemBean.getResult() != null && homeDeviceItemBean.getResult().getModels() != null && homeDeviceItemBean.getResult().getModels().size() > 0) {
  93. list = homeDeviceItemBean.getResult().getModels();
  94. initHomeData();
  95. }
  96. } else {
  97. WQUtils.tip(context, homeDeviceItemBean.getMessage() + "");
  98. }
  99. }
  100. };
  101. private Grid_Image_Adapter.OnRecyclerviewItemClickListener onRecyclerviewItemClickListener;
  102. private void initHomeData() {
  103. mRecyclerView.setItemAnimator(new DefaultItemAnimator());
  104. GridLayoutManager mLayoutManager = new GridLayoutManager(context, 2);
  105. mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
  106. @Override
  107. public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
  108. super.getItemOffsets(outRect, view, parent, state);
  109. // outRect.bottom = 15;
  110. // outRect.right = 15;
  111. }
  112. });
  113. mRecyclerView.setLayoutManager(mLayoutManager);
  114. onRecyclerviewItemClickListener = new Grid_Image_Adapter.OnRecyclerviewItemClickListener() {
  115. @Override
  116. public void onItemClickListener(View v, int position) {
  117. Intent intent = new Intent(context, DeviceDetailActivity.class);
  118. intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
  119. intent.putExtra("Device_Mac", list.get(position).getDeviceMac());
  120. intent.putExtra("FaultStatus", list.get(position).getFaultStatus());
  121. context.startActivity(intent);
  122. }
  123. };
  124. Grid_Image_Adapter adapter = new Grid_Image_Adapter(context, list, onRecyclerviewItemClickListener);
  125. mRecyclerView.setAdapter(adapter);
  126. }
  127. @Override
  128. public void onRefresh() {
  129. new Handler().postDelayed(new Runnable() {//模拟耗时操作
  130. @Override
  131. public void run() {
  132. String user_id = SPUtil.getString(context, "User_ID");
  133. if (!TextUtils.isEmpty(user_id)) {
  134. getData(user_id);
  135. }
  136. refreshLayout.setRefreshing(false);//取消刷新
  137. }
  138. }, 2700);
  139. }
  140. @OnClick({R.id.iv_home_icon, R.id.tv_home_name, R.id.tv_home_add})
  141. public void onViewClicked(View view) {
  142. switch (view.getId()) {
  143. case R.id.iv_home_icon:
  144. break;
  145. case R.id.tv_home_name:
  146. break;
  147. case R.id.tv_home_add:
  148. WQUtils.startActivity(context, AddDevice_1_Activity.class);
  149. break;
  150. }
  151. }
  152. }