|
|
@@ -151,12 +151,9 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
|
|
|
}
|
|
|
|
|
|
private void loadData(String keyWork, final String status) {
|
|
|
- LogUtil.prinlnLongMsg("gongpengming", "time0=" + System.currentTimeMillis() / 1000);
|
|
|
String activitys = PreferenceUtils.getString("activitys");
|
|
|
- LogUtil.prinlnLongMsg("gongpengming", "time=" + System.currentTimeMillis() / 1000);
|
|
|
-
|
|
|
try {
|
|
|
- handlerData(activitys, "全部");
|
|
|
+ handlerData(false, activitys, "全部");
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
@@ -174,7 +171,7 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
|
|
|
public void onResponse(Object o) {
|
|
|
try {
|
|
|
if (o != null) {
|
|
|
- handlerData(o.toString(), status);
|
|
|
+ handlerData(true, o.toString(), status);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
if (e != null) {
|
|
|
@@ -197,11 +194,64 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
|
|
|
|
|
|
|
|
|
private void handlerDataThread(String message, String status) throws Exception {
|
|
|
+ if (JSONUtil.validateJSONObject(message)) {
|
|
|
+ JSONObject object = JSON.parseObject(message);
|
|
|
+ JSONArray array = JSONUtil.getJSONArray(object, "activityList");
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
+ JSONObject o = array.getJSONObject(i);
|
|
|
+ CharitActModel e = new CharitActModel();
|
|
|
+ e.setActImg(JSONUtil.getText(o, "actImg"));
|
|
|
+ e.setId(JSONUtil.getInt(o, "id"));
|
|
|
+ e.setName(JSONUtil.getText(o, "name"));
|
|
|
+ e.setStage(JSONUtil.getText(o, "stage"));
|
|
|
+ JSONArray awards = JSONUtil.getJSONArray(o, "awards");
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ for (int j = 0; j < awards.size(); j++) {
|
|
|
+ String awardLevel = JSONUtil.getText(awards.getJSONObject(j), "awardLevel");
|
|
|
+ String awardName = JSONUtil.getText(awards.getJSONObject(j), "awardName");
|
|
|
+ builder.append(awardLevel + ":" + awardName + "\n");
|
|
|
+ }
|
|
|
+ e.setSubTitle(builder.toString());
|
|
|
+ allModels.add(e);
|
|
|
+ }
|
|
|
+ setAdapter(status, allModels);
|
|
|
+ selectStage.clear();
|
|
|
+ boolean have;
|
|
|
+ selectStage.add("全部");
|
|
|
+ for (CharitActModel e : allModels) {
|
|
|
+ have = false;
|
|
|
+ for (String b : selectStage) {
|
|
|
+ if (b.equals(e.getStage())) {
|
|
|
+ have = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!have) {
|
|
|
+ selectStage.add(e.getStage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ allModels = new ArrayList<>();
|
|
|
+ setAdapter(status, allModels);
|
|
|
+ }
|
|
|
+ PreferenceUtils.putString("activitys", JSON.toJSONString(allModels));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void handlerDataThread2(String message, String status) throws Exception {
|
|
|
if (JSONUtil.validateJSONObject(message)) {
|
|
|
LogUtil.prinlnLongMsg("gongpengming", "time1=" + DateFormatUtil.long2Str("HH:mm:ss"));
|
|
|
JSONObject object = JSON.parseObject(message);
|
|
|
JSONArray array = JSONUtil.getJSONArray(object, "activityList");
|
|
|
- allModels = JSON.parseArray(array.toString(), CharitActModel.class);
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
+ JSONObject o = array.getJSONObject(i);
|
|
|
+ CharitActModel e = new CharitActModel();
|
|
|
+ e.setActImg(JSONUtil.getText(o, "actImg"));
|
|
|
+ e.setId(JSONUtil.getInt(o, "id"));
|
|
|
+ e.setName(JSONUtil.getText(o, "name"));
|
|
|
+ e.setStage(JSONUtil.getText(o, "stage"));
|
|
|
+ e.setSubTitle(JSONUtil.getText(o, "subTitle"));
|
|
|
+ allModels.add(e);
|
|
|
+ }
|
|
|
LogUtil.prinlnLongMsg("gongpengming", "time2=" + DateFormatUtil.long2Str("HH:mm:ss"));
|
|
|
setAdapter(status, allModels);
|
|
|
selectStage.clear();
|
|
|
@@ -225,12 +275,16 @@ public class ActivityFragment extends EasyFragment implements View.OnClickListen
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void handlerData(final String message, final String status) throws Exception {
|
|
|
+ private void handlerData(final boolean isNet, final String message, final String status) throws Exception {
|
|
|
ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
try {
|
|
|
- handlerDataThread(message, status);
|
|
|
+ if (isNet) {
|
|
|
+ handlerDataThread(message, status);
|
|
|
+ } else {
|
|
|
+ handlerDataThread2(message, status);
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|