NormalUserActivity.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package com.jyc.threegames.activity;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.text.TextUtils;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.AdapterView;
  8. import android.widget.BaseAdapter;
  9. import android.widget.ListView;
  10. import android.widget.TextView;
  11. import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
  12. import com.jyc.threegames.R;
  13. import com.jyc.threegames.activity.base.BaseActivity;
  14. import com.jyc.threegames.bean.EventMessage;
  15. import com.jyc.threegames.bean.result.ResGameInfo;
  16. import com.jyc.threegames.bean.result.ResGamePlayTime;
  17. import com.jyc.threegames.controller.GameController;
  18. import com.jyc.threegames.net.SimpleRequest;
  19. import org.greenrobot.eventbus.EventBus;
  20. import org.greenrobot.eventbus.Subscribe;
  21. import org.greenrobot.eventbus.ThreadMode;
  22. import java.util.ArrayList;
  23. import java.util.List;
  24. import butterknife.BindView;
  25. import butterknife.ButterKnife;
  26. import butterknife.OnClick;
  27. public class NormalUserActivity extends BaseActivity {
  28. @BindView(R.id.swipe)
  29. SwipeRefreshLayout mSRF;
  30. @BindView(R.id.list)
  31. ListView mList;
  32. private Adapter mAdapter;
  33. private List<ResGamePlayTime> mData = new ArrayList<>();
  34. @Override
  35. protected String getPageTitle() {
  36. return "歡迎使用";
  37. }
  38. @Override
  39. protected void init(Bundle instance) {
  40. super.init(instance);
  41. mAdapter = new Adapter();
  42. mList.setAdapter(mAdapter);
  43. mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  44. @Override
  45. public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  46. ScaleActivity.LAUNCH(NormalUserActivity.this, mAdapter.getItem(i).id, mAdapter.getItem(i).gameTime.split(" ")[0]);
  47. }
  48. });
  49. mSRF.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  50. @Override
  51. public void onRefresh() {
  52. loadData();
  53. }
  54. });
  55. mSRF.post(new Runnable() {
  56. @Override
  57. public void run() {
  58. mSRF.setRefreshing(true);
  59. loadData();
  60. }
  61. });
  62. EventBus.getDefault().register(this);
  63. }
  64. @Override
  65. protected int getRootLayout() {
  66. return R.layout.activity_normal_user;
  67. }
  68. @Override
  69. protected void onDestroy() {
  70. EventBus.getDefault().unregister(this);
  71. super.onDestroy();
  72. }
  73. @OnClick(R.id.logout)
  74. public void clickLogout(){
  75. doLogout();
  76. }
  77. @Subscribe(threadMode = ThreadMode.MAIN)
  78. public void onEvent(EventMessage eventMessage){
  79. if (mData != null && mAdapter != null && mSRF != null){
  80. mData = new ArrayList<>();
  81. mAdapter.notifyDataSetChanged();
  82. mSRF.post(new Runnable() {
  83. @Override
  84. public void run() {
  85. mSRF.setRefreshing(true);
  86. loadData();
  87. }
  88. });
  89. }
  90. }
  91. private void loadData(){
  92. new SimpleRequest<List<ResGamePlayTime>>()
  93. .request(this, GameController.getInstance().listOverDate(), new SimpleRequest.Executor<List<ResGamePlayTime>>() {
  94. @Override
  95. public void execute(List<ResGamePlayTime> obj) {
  96. mSRF.setRefreshing(false);
  97. if (obj != null) {
  98. mData = obj;
  99. mAdapter.notifyDataSetChanged();
  100. }
  101. }
  102. }, new SimpleRequest.Executor<Throwable>() {
  103. @Override
  104. public void execute(Throwable obj) {
  105. mSRF.setRefreshing(false);
  106. }
  107. });
  108. }
  109. public class Adapter extends BaseAdapter{
  110. @Override
  111. public int getCount() {
  112. return mData.size();
  113. }
  114. @Override
  115. public ResGamePlayTime getItem(int i) {
  116. return mData.get(i);
  117. }
  118. @Override
  119. public long getItemId(int i) {
  120. return i;
  121. }
  122. @Override
  123. public View getView(int i, View view, ViewGroup viewGroup) {
  124. ViewHolder holder;
  125. if (view == null){
  126. view = getLayoutInflater().inflate(R.layout.item_scale, null);
  127. holder = new ViewHolder(view);
  128. view.setTag(holder);
  129. } else
  130. holder = (ViewHolder) view.getTag();
  131. if (!TextUtils.isEmpty(getItem(i).gameTime))
  132. holder.label.setText(getItem(i).gameTime.split(" ")[0]);
  133. return view;
  134. }
  135. public class ViewHolder{
  136. @BindView(R.id.label)
  137. TextView label;
  138. public ViewHolder(View root){
  139. ButterKnife.bind(this, root);
  140. }
  141. }
  142. }
  143. }