// 解析XML資料 private void bindStudentList(Element content) { mListStudent.clear(); map.clear(); int studSize = 0; for (Element item : XmlUtil.selectElements(content)) { studSize += 1; InfoObject into = new InfoObject(); into.ClassName = XmlUtil.getElementText(item, "ClassName"); if (!map.contains(into.ClassName)) { into.IsExtends = false; mListStudent.add(into); map.add(into.ClassName); } StudentObject stud = new StudentObject(); stud.IsExtends = true; stud.ClassName = XmlUtil.getElementText(item, "ClassName"); stud.StudentNumber = XmlUtil.getElementText(item, "StudentNumber"); stud.StudentName = XmlUtil.getElementText(item, "StudentName"); stud.Gender = XmlUtil.getElementText(item, "Gender"); stud.StudentId = XmlUtil.getElementText(item, "RefStudentId"); mListStudent.add(stud); } Collections.sort( mListStudent, new Comparator<InfoObject>() { @Override public int compare(InfoObject lhs, InfoObject rhs) { return lhs.ClassName.compareTo(rhs.ClassName); } }); TextView txtStudentCount = (TextView) getActivity().findViewById(R.id.course_countStudent); txtStudentCount.setText("學生人數:" + studSize); startDisplay(); }
@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = _inflater.inflate(R.layout.item_discipline, null); holder.txtDate = (TextView) convertView.findViewById(R.id.txtDate); holder.txtDetail = (TextView) convertView.findViewById(R.id.txtDetail); holder.txtCountA = (TextView) convertView.findViewById(R.id.txtCountA); holder.txtCountB = (TextView) convertView.findViewById(R.id.txtCountB); holder.txtCountC = (TextView) convertView.findViewById(R.id.txtCountC); holder.txtNameA = (TextView) convertView.findViewById(R.id.txtNameA); holder.txtNameB = (TextView) convertView.findViewById(R.id.txtNameB); holder.txtNameC = (TextView) convertView.findViewById(R.id.txtNameC); holder.layoutClearInfo = (LinearLayout) convertView.findViewById(R.id.layoutClearInfo); holder.txtClearDate = (TextView) convertView.findViewById(R.id.txtClearDate); holder.txtClearReason = (TextView) convertView.findViewById(R.id.txtClearReason); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } Element dayElement = mDisplayElements.get(position); holder.txtDate.setText(dayElement.getAttribute("OccurDate")); holder.txtDetail.setText(XmlUtil.getElementText(dayElement, "Reason")); int flag = StringUtil.convertToInt(dayElement.getAttribute("MeritFlag")); Element meritElement; if (flag == 1) { meritElement = XmlUtil.selectElement(dayElement, "Merit"); holder.txtNameA.setText(MERIT_A); holder.txtNameB.setText(MERIT_B); holder.txtNameC.setText(MERIT_C); holder.txtCountA.setBackgroundResource(R.drawable.merit_a); holder.txtCountB.setBackgroundResource(R.drawable.merit_b); holder.txtCountC.setBackgroundResource(R.drawable.merit_c); } else { meritElement = XmlUtil.selectElement(dayElement, "Demerit"); holder.txtNameA.setText(DEMERIT_A); holder.txtNameB.setText(DEMERIT_B); holder.txtNameC.setText(DEMERIT_C); holder.txtCountA.setBackgroundResource(R.drawable.demerit_a); holder.txtCountB.setBackgroundResource(R.drawable.demerit_b); holder.txtCountC.setBackgroundResource(R.drawable.demerit_c); String cleared = meritElement.getAttribute("Cleared"); String clearReason = meritElement.getAttribute("ClearReason"); String clearDate = meritElement.getAttribute("ClearDate"); if (!StringUtil.isNullOrWhitespace(cleared)) { holder.layoutClearInfo.setVisibility(View.VISIBLE); holder.txtClearDate.setText(clearDate); holder.txtClearReason.setText("銷過原因 : " + clearReason); } } holder.txtCountA.setText(meritElement.getAttribute("A")); holder.txtCountB.setText(meritElement.getAttribute("B")); holder.txtCountC.setText(meritElement.getAttribute("C")); return convertView; }