Просмотр исходного кода

1.完成一元捐基本的界面逻辑开发,接入支付宝,完成支付宝相关功能
2.移除测试数据
3.添加异常处理,提交测试

Bitliker 8 лет назад
Родитель
Сommit
4f2fbdfec6

+ 5 - 4
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/CharitSearchActivity.java

@@ -79,16 +79,16 @@ public class CharitSearchActivity extends BaseActivity implements OnPlayListener
 				LogUtil.i("l==" + l);
 				if (type == 1) {
 					if (charitableAdapter != null) {
-						CharitModel model = charitableAdapter.getModels(i);
+						CharitModel model = charitableAdapter.getModels((int) l);
 						if (model != null) {
 							IntentUtils.linkCommonWeb(ct, Constants.BASE_CHARIT_PROJECT_URL + "?pro_id=" + model.getId(), model.getName());
 						}
 					}
 				} else {
-					if (activityAdapter != null && ListUtils.getSize(activityAdapter.getModels()) > i) {
-						CharitActModel model = activityAdapter.getModels().get(i);
+					if (activityAdapter != null && ListUtils.getSize(activityAdapter.getModels()) > l) {
+						CharitActModel model = activityAdapter.getModels().get((int) l);
 						if (model != null) {
-							IntentUtils.linkCommonWeb(ct, Constants.BASE_CHARIT_ACTIVITY_URL + "/" + model.getId(), model.getName());
+							IntentUtils.linkCommonWeb(ct, Constants.BASE_CHARIT_ACTIVITY_URL + "?pro_id=" + model.getId(), model.getName());
 						}
 					}
 				}
@@ -201,6 +201,7 @@ public class CharitSearchActivity extends BaseActivity implements OnPlayListener
 			activityAdapter.setModels(models);
 		}
 		if (ListUtils.isEmpty(models)) {
+			LogUtil.i("mEmptyLayout.showEmpty()");
 			mEmptyLayout.showEmpty();
 		}
 	}

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/JoinCharitActivity.java

@@ -133,6 +133,7 @@ public class JoinCharitActivity extends BaseActivity {
 						LogUtil.i("userFragement initData Exception" + e.getMessage());
 					}
 				}
+				progressDialog.dismiss();
 			}
 		}));
 	}

+ 1 - 1
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/AutoPlayPagerAdapter.java

@@ -37,7 +37,7 @@ public class AutoPlayPagerAdapter extends AutoPagerAdapter implements View.OnCli
 	public View getView(LayoutInflater layoutInflater, int position) {
 		ImageView imageView = new ImageView(ct.getApplicationContext());
 		ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-		imageView.setScaleType(ImageView.ScaleType.FIT_XY);
+		imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
 		imageView.setLayoutParams(params);
 		Carousel c = list.get(getPositionForIndicator(position));
 		ImageLoader.getInstance().displayImage(c.getImageUrl(), imageView);

+ 207 - 199
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/fragment/ActivityFragment.java

@@ -47,205 +47,213 @@ import java.util.List;
  */
 
 public class ActivityFragment extends EasyFragment implements View.OnClickListener {
-	private HttpClient httpClient = new HttpClient.Builder(Constants.charitBaseUrl()).isDebug(true).build();
-	private PullToRefreshListView refreshListView;
-	private BaseActivity baseActivity;
-	private TextView statusTv;
-
-	@Override
-	public void onAttach(Context context) {
-		super.onAttach(context);
-		if (context instanceof BaseActivity) {
-			baseActivity = (BaseActivity) context;
-		}
-	}
-
-	@Override
-	protected int inflateLayoutId() {
-		return R.layout.fragment_charitable_list;
-	}
-
-	@Override
-	protected void onCreateView(Bundle savedInstanceState, boolean createView) {
-		if (createView) {
-			setHasOptionsMenu(true);
-			initView();
-		}
-	}
-
-	@Override
-	public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-		inflater.inflate(R.menu.search, menu);
-		super.onCreateOptionsMenu(menu, inflater);
-	}
-
-	@Override
-	public boolean onOptionsItemSelected(MenuItem item) {
-		if (item.getItemId() == R.id.search) {
-			startActivity(new Intent(ct, CharitSearchActivity.class).
-					putExtra("type", 2)
-					.putExtra("title", "活动搜索"));
-		}
-		return super.onOptionsItemSelected(item);
-	}
-
-	private void initView() {
-		refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
-		refreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
-		refreshListView.getRefreshableView().addHeaderView(getHandlerView());
-		refreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-			@Override
-			public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
-				if (mAdapter != null && ListUtils.getSize(mAdapter.getModels()) > i) {
-					CharitActModel model = mAdapter.getModels().get(i);
-					IntentUtils.linkCommonWeb(ct, Constants.BASE_CHARIT_ACTIVITY_URL + "?pro_id=" + model.getId(), model.getName());
-				}
-			}
-		});
-		setAdapter(null);
-		initData();
-	}
-
-	public View getHandlerView() {
-		View handlerView = LayoutInflater.from(ct).inflate(R.layout.handler_charit_activity, null);
-		statusTv = (TextView) handlerView.findViewById(R.id.statusTv);
-		handlerView.findViewById(R.id.searchIv).setOnClickListener(this);
-		statusTv.setOnClickListener(this);
-		return handlerView;
-	}
-
-
-	private void initData() {
-		loadData("", "全部");
-	}
-
-	private void loadData(String keyWork, final String status) {
-		if (!NetUtils.isNetWorkConnected(ct)) {
-			ToastUtil.showToast(ct, R.string.networks_out);
-			return;
-		}
-		baseActivity.progressDialog.show();
-		httpClient.Api().send(new HttpClient.Builder()
-				.url("activities")
-				.add("keyWork", keyWork)
-				.add("status", status)
-				.method(Method.GET)
-				.build(), new ResultSubscriber<>(new ResultListener<Object>() {
-			@Override
-			public void onResponse(Object o) {
-				try {
-					if (o != null) {
-						handlerData(o.toString(), status);
-					}
-				} catch (Exception e) {
-					if (e != null) {
-						LogUtil.i("e=" + e.getMessage());
-					}
-				}
-				baseActivity.progressDialog.dismiss();
-			}
-
-
-		}));
-	}
-
-	private ActivityAdapter mAdapter;
-	private List<CharitActModel> allModels;
-
-	private void handlerData(String message, String status) throws Exception {
-		LogUtil.i("handlerData");
-		if (JSONUtil.validateJSONObject(message)) {
-			JSONObject object = JSON.parseObject(message);
-			JSONArray array = JSONUtil.getJSONArray(object, "activityList");
-			allModels = JSON.parseArray(array.toString(), CharitActModel.class);
-			setAdapter(status, allModels);
-		} else {
-			setAdapter(null);
-		}
-	}
-
-	private void setAdapter(String status, List<CharitActModel> models) {
+    private HttpClient httpClient = new HttpClient.Builder(Constants.charitBaseUrl()).isDebug(true).build();
+    private PullToRefreshListView refreshListView;
+    private BaseActivity baseActivity;
+    private TextView statusTv;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (context instanceof BaseActivity) {
+            baseActivity = (BaseActivity) context;
+        }
+    }
+
+    @Override
+    protected int inflateLayoutId() {
+        return R.layout.fragment_charitable_list;
+    }
+
+    @Override
+    protected void onCreateView(Bundle savedInstanceState, boolean createView) {
+        if (createView) {
+            setHasOptionsMenu(true);
+            initView();
+        }
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        inflater.inflate(R.menu.search, menu);
+        super.onCreateOptionsMenu(menu, inflater);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == R.id.search) {
+            startActivity(new Intent(ct, CharitSearchActivity.class).
+                    putExtra("type", 2)
+                    .putExtra("title", "活动搜索"));
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    private void initView() {
+        refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
+        refreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
+        refreshListView.getRefreshableView().addHeaderView(getHandlerView());
+        refreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                try {
+                    toDetail((int) l);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        setAdapter(null);
+        initData();
+    }
+
+    private void toDetail(int position) throws Exception {
+        if (mAdapter != null && ListUtils.getSize(mAdapter.getModels()) > position) {
+            CharitActModel model = mAdapter.getModels().get(position);
+            IntentUtils.linkCommonWeb(ct, Constants.BASE_CHARIT_ACTIVITY_URL + "?pro_id=" + model.getId(), model.getName());
+        }
+    }
+
+    public View getHandlerView() {
+        View handlerView = LayoutInflater.from(ct).inflate(R.layout.handler_charit_activity, null);
+        statusTv = (TextView) handlerView.findViewById(R.id.statusTv);
+        handlerView.findViewById(R.id.searchIv).setOnClickListener(this);
+        statusTv.setOnClickListener(this);
+        return handlerView;
+    }
+
+
+    private void initData() {
+        loadData("", "全部");
+    }
+
+    private void loadData(String keyWork, final String status) {
+        if (!NetUtils.isNetWorkConnected(ct)) {
+            ToastUtil.showToast(ct, R.string.networks_out);
+            return;
+        }
+        baseActivity.progressDialog.show();
+        httpClient.Api().send(new HttpClient.Builder()
+                .url("activities")
+                .add("keyWork", keyWork)
+                .add("status", status)
+                .method(Method.GET)
+                .build(), new ResultSubscriber<>(new ResultListener<Object>() {
+            @Override
+            public void onResponse(Object o) {
+                try {
+                    if (o != null) {
+                        handlerData(o.toString(), status);
+                    }
+                } catch (Exception e) {
+                    if (e != null) {
+                        LogUtil.i("e=" + e.getMessage());
+                    }
+                }
+                baseActivity.progressDialog.dismiss();
+            }
+
+
+        }));
+    }
+
+    private ActivityAdapter mAdapter;
+    private List<CharitActModel> allModels;
+
+    private void handlerData(String message, String status) throws Exception {
+        LogUtil.i("handlerData");
+        if (JSONUtil.validateJSONObject(message)) {
+            JSONObject object = JSON.parseObject(message);
+            JSONArray array = JSONUtil.getJSONArray(object, "activityList");
+            allModels = JSON.parseArray(array.toString(), CharitActModel.class);
+            setAdapter(status, allModels);
+        } else {
+            setAdapter(null);
+        }
+    }
+
+    private void setAdapter(String status, List<CharitActModel> models) {
 //		String newtime = DateFormatUtil.long2Str("yyyy.MM.dd HH:mm");
-		List<CharitActModel> showModels = new ArrayList<>();
-		if (!"全部".equals(status)) {
-			for (CharitActModel model : models) {
-				if (status.equals(model.getStage())) {
-					showModels.add(model);
-				}
-			}
-		} else {
-			showModels = allModels;
-		}
-		setAdapter(showModels);
-	}
-
-	private void setAdapter(List<CharitActModel> models) {
-		if (mAdapter == null) {
-			mAdapter = new ActivityAdapter(ct, models);
-			refreshListView.setAdapter(mAdapter);
-		} else {
-			mAdapter.setModels(models);
-		}
-
-	}
-
-	@Override
-	public void onClick(View view) {
-		int id = view.getId();
-		if (id == R.id.searchIv) {
-
-		} else if (id == R.id.statusTv) {
-			showCommonWordsIV(statusTv);
-		}
-	}
-
-
-	private void showCommonWordsIV(View view) {
-		final PopupWindow window = new PopupWindow(ct);
-		View windowView = LayoutInflater.from(ct).inflate(R.layout.item_list_pop, null);
-		window.setContentView(windowView);
-		ListView contentLV = (ListView) windowView.findViewById(R.id.contentLV);
-		final String[] messages = {"全部", "进行中", "已结束"};
-		contentLV.setAdapter(new PopListAdapter(ct, messages));
-		window.setTouchable(true);
-		window.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.pop_round_bg));
-		window.getContentView().measure(0, 0);
-		window.setHeight(DisplayUtil.dip2px(ct, 150));
-		window.setWidth(DisplayUtil.dip2px(ct, 80));
+        List<CharitActModel> showModels = new ArrayList<>();
+        if (!"全部".equals(status)) {
+            for (CharitActModel model : models) {
+                if (status.equals(model.getStage())) {
+                    showModels.add(model);
+                }
+            }
+        } else {
+            showModels = allModels;
+        }
+        setAdapter(showModels);
+    }
+
+    private void setAdapter(List<CharitActModel> models) {
+        if (mAdapter == null) {
+            mAdapter = new ActivityAdapter(ct, models);
+            refreshListView.setAdapter(mAdapter);
+        } else {
+            mAdapter.setModels(models);
+        }
+
+    }
+
+    @Override
+    public void onClick(View view) {
+        int id = view.getId();
+        if (id == R.id.searchIv) {
+
+        } else if (id == R.id.statusTv) {
+            showCommonWordsIV(statusTv);
+        }
+    }
+
+
+    private void showCommonWordsIV(View view) {
+        final PopupWindow window = new PopupWindow(ct);
+        View windowView = LayoutInflater.from(ct).inflate(R.layout.item_list_pop, null);
+        window.setContentView(windowView);
+        ListView contentLV = (ListView) windowView.findViewById(R.id.contentLV);
+        final String[] messages = {"全部", "进行中", "已结束"};
+        contentLV.setAdapter(new PopListAdapter(ct, messages));
+        window.setTouchable(true);
+        window.setBackgroundDrawable(ct.getResources().getDrawable(R.drawable.pop_round_bg));
+        window.getContentView().measure(0, 0);
+        window.setHeight(DisplayUtil.dip2px(ct, 150));
+        window.setWidth(DisplayUtil.dip2px(ct, 80));
 //        window.setAnimationStyle(R.style.MenuAnimationFade);
-		window.setOutsideTouchable(false);
-		window.setFocusable(true);
-		//获取需要在其上方显示的控件的位置信息
-		int[] location = new int[2];
-		view.getLocationOnScreen(location);
-		//在控件上方显示
-		window.showAtLocation(view, Gravity.NO_GRAVITY, location[0], location[1] + view.getHeight());
-		DisplayUtil.backgroundAlpha(ct, 0.6f);
-		contentLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-			@Override
-			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-				String message = messages[position];
-				window.dismiss();
-				selectStatus(message);
-				statusTv.setText(message);
-			}
-		});
-		window.setOnDismissListener(new PopupWindow.OnDismissListener() {
-			@Override
-			public void onDismiss() {
-				DisplayUtil.backgroundAlpha(ct, 1f);
-			}
-		});
-	}
-
-
-	private void selectStatus(String message) {
-		if (message == null || message.length() <= 0) {
-			ToastUtil.showToast(ct, "选择错误");
-		} else if (ListUtils.isEmpty(allModels)) {
-			loadData("", message);
-		} else {
-			setAdapter(message, allModels);
-		}
-	}
+        window.setOutsideTouchable(false);
+        window.setFocusable(true);
+        //获取需要在其上方显示的控件的位置信息
+        int[] location = new int[2];
+        view.getLocationOnScreen(location);
+        //在控件上方显示
+        window.showAtLocation(view, Gravity.NO_GRAVITY, location[0], location[1] + view.getHeight());
+        DisplayUtil.backgroundAlpha(ct, 0.6f);
+        contentLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                String message = messages[position];
+                window.dismiss();
+                selectStatus(message);
+                statusTv.setText(message);
+            }
+        });
+        window.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                DisplayUtil.backgroundAlpha(ct, 1f);
+            }
+        });
+    }
+
+
+    private void selectStatus(String message) {
+        if (message == null || message.length() <= 0) {
+            ToastUtil.showToast(ct, "选择错误");
+        } else if (ListUtils.isEmpty(allModels)) {
+            loadData("", message);
+        } else {
+            setAdapter(message, allModels);
+        }
+    }
 }

+ 11 - 1
app_modular/appworks/src/main/java/com/uas/appworks/widget/SelectPlayPop.java

@@ -76,8 +76,14 @@ public class SelectPlayPop {
             @Override
             public void afterTextChanged(Editable editable) {
                 try {
-                    double num = Double.valueOf(editable.toString());
+                    String payStr = editable.toString();
+                    double num = Double.valueOf(payStr);
                     payNumTv.setText(StringUtil.getMessage(R.string.new_select_pay) + " " + num);
+                    int position = payStr.length() - payStr.indexOf(".") - 1;
+                    LogUtil.i("position=" + position);
+                    if (position > 2) {
+                        payNumTv.setText(R.string.input_two_double);
+                    }
                 } catch (Exception e) {
 
                 }
@@ -130,6 +136,10 @@ public class SelectPlayPop {
             @Override
             public void onClick(View view) {
                 hideKeyboard(ct, autoNumEd);
+                if (StringUtil.getMessage(R.string.input_two_double).equals(payNumTv.getText().toString())) {
+                    agreeNoteTv.setText(R.string.input_two_double);
+                    return;
+                }
                 if (agreeCb.isChecked()) {
                     giftBtn(window, autoNumEd, selectRg, typeRg, model, onSureListener);
                 } else {

+ 1 - 0
app_modular/appworks/src/main/res/values/strings.xml

@@ -43,4 +43,5 @@
 
     <!--一元捐项目新-->
     <string name="new_select_pay">当前选择</string>
+    <string name="input_two_double">只能键入两位小数</string>
 </resources>