1、android 端

二个entity

consultInfo:

private String name;

private String id;

consultInfoRef

private iList<ConsultInfo>  tems

private String ret;

private String createTime;

private String msg;

一个Adapter

adapter = new Adapter();..

Holder 条目属性

class Holder

{

TextVeiw xx

}

3、请求

4、服务端

实例代码:

package com.gc.app.jsk.activity.mine;

import java.util.ArrayList;

import android.content.Intent;
import android.os.Message;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.TextView; import com.gc.app.jsk.base.BaseActivity;
import com.gc.app.jsk.base.MyApplication;
import com.gc.app.jsk.entity.ConsultInfo;
import com.gc.app.jsk.entity.ConsultInfoRef;
import com.gc.app.jsk.entity.EvalEntity;
import com.gc.app.jsk.entity.RequestMessage;
import com.gc.app.jsk.view.CircleImageView;
import com.gc.app.jsk_2.R;
import com.handmark.pulltorefresh.library.PullToRefreshListView; /**
*
* @Description: 历史咨询列表 */
public class MyConsultListActivity extends BaseActivity implements
OnItemClickListener { private TextView mTitle; private ArrayList<ConsultInfo> list = new ArrayList<ConsultInfo>(); private PullToRefreshListView consultlist_view; private final static int CONSULT_LIST = 1;//历史咨询列表 private BaseAdapter adapter = new BaseAdapter() { @Override
public View getView(int position, View convertView, ViewGroup parent) { ConsultInfo consultInfo = list.get(position); ViewHolder holder; if (convertView == null) {
convertView = LayoutInflater.from(MyConsultListActivity.this)
.inflate(R.layout.item_consult_list, null);
holder = new ViewHolder();
holder.item_circleImageView = (CircleImageView) convertView
.findViewById(R.id.doctorHead);
holder.item_doctorName = (TextView) convertView
.findViewById(R.id.doctorName);
holder.item_deptCat = (TextView) convertView
.findViewById(R.id.deptCat);
holder.item_consultDate = (TextView) convertView
.findViewById(R.id.consultDate);
holder.item_lastMsg = (TextView) convertView.findViewById(R.id.lastMsg);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
} /** 此处需要做image Resource 判空处理 */
if (consultInfo.getPhoto() != null
&& consultInfo.getPhoto().length() > 0) {
MyApplication.iLoader.displayImage(consultInfo.getPhoto(),
holder.item_circleImageView);
}
holder.item_doctorName.setText(consultInfo.getDoctorName());
holder.item_deptCat.setText(consultInfo.getDeptCatName());
holder.item_consultDate.setText("2015-07-09");
holder.item_lastMsg.setText("上海国臣");
return convertView;
} @Override
public long getItemId(int position) {
return position;
} @Override
public Object getItem(int position) {
return list.get(position);
} @Override
public int getCount() {
return list.size();
}
}; @Override
public void onClick(View view) { if (view.getId() == R.id.btn_back) {
finish();
}
} @Override
protected void initComponent() {
setContentView(R.layout.activity_consult_list);
mTitle = (TextView) findViewById(R.id.text_title);
consultlist_view = (PullToRefreshListView) findViewById(R.id.consultlist_view);
consultlist_view.setAdapter(adapter);
mTitle.setText("我的咨询");
} /**
* 数据初始化
*/
@Override
protected void initData() {
consultList();
} @Override
protected void registerListener() {
consultlist_view.setOnItemClickListener(this);
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finishActivity();
return true;
}
return super.onKeyDown(keyCode, event);
} class ViewHolder {
CircleImageView item_circleImageView;
TextView item_doctorName;
TextView item_deptCat;
TextView item_consultDate;
TextView item_lastMsg;
} @Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
EvalEntity evalEntity = (EvalEntity) parent.getAdapter().getItem(
position); if (evalEntity != null) {
Intent intent = new Intent(this, EvaluationActivity.class); intent.putExtra("evalEntity", evalEntity); startActivity(intent);
}
} @Override
public boolean handleMessage(Message msg) { switch (msg.what) {
case 0:
if (msg.arg1 == RET_OK) {
// String retStr = msg.obj.toString();
// EvalJson json = gson.fromJson(retStr, EvalJson.class);
// if (json != null && json.items != null) {
// list.clear();
// list.addAll(json.items);
// }
// adapter.notifyDataSetChanged();
// } else {
// EvalEntityRef evalEntityRef = (EvalEntityRef) gson.fromJson(
// msg.obj.toString(), EvalEntityRef.class);
// Log.i("JSK", msg.obj.toString());
// if (evalEntityRef.data != null) {
// list.clear();
// list.addAll(evalEntityRef.data);
// adapter.notifyDataSetChanged();
// }
}
break;
case CONSULT_LIST: {
if (msg.arg1 != RET_OK) {
ConsultInfoRef consultInfoRef = gson.fromJson(msg.obj.toString(), ConsultInfoRef.class);
list.clear();
list.addAll(consultInfoRef.items);
adapter.notifyDataSetChanged();
}
break;
} default:
break;
}
return super.handleMessage(msg);
} /**
*
* @Title: consultList
* @Description: 咨询历史列表
*/
private void consultList() {
RequestMessage reqMsg = new RequestMessage("myConsultList");
reqMsg.put("userID", getUserID());
request(handler,reqMsg,CONSULT_LIST);
} }

服务端:

package com.gc.apps.jsk.online.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import org.apache.log4j.Logger;
import org.springframework.web.servlet.ModelAndView; import com.gc.apps.jsk.common.message.InMessage;
import com.gc.apps.jsk.controller.JSKCommand;
import com.gc.apps.jsk.online.dbobj.Consult;
import com.gc.biz.basedata.dbobj.HospDept;
import com.gc.biz.doctor.dbobj.RESDoctor;
import com.gc.biz.order.dbobj.ConsultBooking;
import com.gc.common.util.StrUtil;
import com.gc.frame.spring.controller.AbstractCommand; /**
*
* MyConsultListCommand.java
*
* @Description: 我的咨询历史列表
*
* @version */
public class MyConsultListCommand extends AbstractCommand implements JSKCommand { // 日志
private final static Logger log = Logger
.getLogger(MyConsultListCommand.class); @Override
public ModelAndView run(HttpServletRequest request,
HttpServletResponse response) throws Exception { if (log.isDebugEnabled()) {
log.debug("用户咨询历史列表:MyConsultListCommand");
} InMessage inMessage = getInMessage(request);
String createTime = System.currentTimeMillis() / 1000 + "";
String msg = "操作失败!";
String ret = "-1"; try {
// 分页参数 当前页和每页记录数
String currentPage = StrUtil.notNull(inMessage.get("currentPage"));
if (currentPage == null || currentPage.length() == 0) {
currentPage = "1";
}
String pageCount = StrUtil.notNull(inMessage.get("pageCount"));
if (pageCount == null || pageCount.length() == 0) {
pageCount = "10";
} // 每页记录数
int npageCount = Integer.parseInt(pageCount);
// 偏移
int offset = npageCount * (Integer.parseInt(currentPage) - 1);
// 获取用户ID
String userID = StrUtil.notNull(inMessage.get("userID"));
ConsultBooking cb = new ConsultBooking();
cb.setField("UserID", userID);
List<ConsultBooking> listcb = new ArrayList<ConsultBooking>();
List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
listcb = cb.searchAndRetrieveList();
for (Iterator<ConsultBooking> it = listcb.iterator(); it.hasNext();) {
cb = it.next();
Map<String, Object> map = new HashMap<String, Object>(); // 与医生相关的信息
String doctorID = cb.getField("DoctorID");
RESDoctor resDoctor = new RESDoctor();
resDoctor.setField("DoctorID", doctorID);
if (resDoctor.find()) {
map.put("doctorName", resDoctor.getField("DoctorName"));
map.put("photo", resDoctor.getField("Photo"));
String deptCatID = resDoctor.getField("DeptCatID");
HospDept hd = new HospDept();
hd.setField("DeptCatID", deptCatID);
if (hd.find()) {
map.put("deptCatName", hd.getField("DeptName"));
}
}
map.put("orderDate", cb.getField("OrderDate"));
listmap.add(map);
} Map<String, Object> map = new HashMap<String, Object>();
map.put("ret", "1");
map.put("msg", "操作成功!");
map.put("createTime", createTime);
map.put("items", listmap);
sendJsonResult(response, JSONObject.fromObject(map).toString());
} catch (Exception e) {
e.printStackTrace();
log.error("用户咨询记录列表出错:" + e);
}
return null;
} @Override
public InMessage getInMessage(HttpServletRequest request) {
return (InMessage) request.getAttribute(JSKCommand.InMessage_KEY);
} @Override
public String getMessageKey() {
return getName();
}
}

最新文章

  1. Windows操作系统
  2. JVM常见配置汇总
  3. jstl &lt;c:forEach&gt; 介绍
  4. node.js简单的页面输出
  5. 黄聪:在WordPress后台文章编辑器的上方或下方添加提示内容
  6. Initialization and Class loading - Java
  7. 【ZZ】一张图清晰追溯数据库的发展历程(1962-2016年)
  8. 浅谈UML中类之间的五种关系及其在代码中的表现形式
  9. 层叠样式优先级CSS
  10. I can do it!(贪心)
  11. Xib学习之(1)
  12. 同主机下Docker+nginx+tomcat负载均衡集群搭建
  13. 使用numpy的小惊喜
  14. Port Channel and VPC
  15. Python Every Class Needs a __repr__
  16. Ubuntu下安装hbase
  17. [luogu P3275] [SCOI2011]糖果
  18. C#根据byte前两位获取图片扩展名
  19. 一个有趣的异步时序逻辑电路设计实例 ——MFM调制模块设计笔记
  20. INSERT CLAUSE

热门文章

  1. js字符串函数
  2. linux包之coreutils之du和df命令
  3. httpclient详细介绍
  4. 使用bind(this)的情况
  5. MySql远程连接无法打开解决办法
  6. spring配置中,properties文件以及xml文件配置问题
  7. 并行计算之Memory barrier(内存
  8. 【转】七个例子帮你更好地理解 CPU 缓存
  9. TextBox(只允许输入字母或者数字)
  10. erlang远程加载模块须知