activity文件如下:
//任务列表显示
listView = (ListView)findViewById(R.id.agv_rw);
adapter = new AGV任务Adapter(this,dataList);
listView.setAdapter(adapter);
new 查询Task().execute();//查询任务
//任务列表选中一行数据 执行操作
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//点击执行
任务编号 = adapter.getItem(position).get任务编号();
if(!任务编号.equals("")){
//隐藏
ScrollView.setVisibility(View.GONE);
//显示
rlrenwu.setVisibility(View.VISIBLE);
}
}
});
class 查询Task extends AsyncTask<Void, Void, Result<List<物流任务表>>>{
@Override
protected Result<List<物流任务表>> doInBackground(Void... voids) {
Result<List<物流任务表>> res = new Result<>();
物流任务表 wl = new 物流任务表();
String param = App.gson.toJson(wl);
String result = HttpUtil.sendPost(PathUtil.查询任务, param);
res = TaskUtil.handle(res, result, new TypeToken<Result<List<物流任务表>>>() {
}.getType());
return res;
}
//事后执行
@Override
protected void onPostExecute(Result<List<物流任务表>> res) {
if(res.isFlag()){
adapter.setDatalist(res.getData());
adapter.notifyDataSetChanged();
}
}
}
Adapter文件如下:
public class AGV任务Adapter extends BaseAdapter {
private Context context;
private List<物流任务表> datalist;
public AGV任务Adapter(Context context, List<物流任务表> datalist) {
this.context = context;
this.datalist = datalist;
}
public void setDatalist(List<物流任务表> datalist) {
this.datalist = datalist;
}
@Override
public int getCount() {
return datalist.size();
}
@Override
public 物流任务表 getItem(int position) {
return datalist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
if(view == null){
view = LayoutInflater.from(context).inflate(R.layout.list_agvexception_item,null);
}
boolean ifdraw = true;
ViewHolder viewHolder = null;
if(view.getTag() != null && view.getTag() instanceof ViewHolder){
viewHolder = (ViewHolder)view.getTag();
}
if(ifdraw){
viewHolder = new ViewHolder();
viewHolder.物流任务表 = datalist.get(position);
viewHolder.tv任务编号 = (TextView)view.findViewById(R.id.rwbh);
viewHolder.tvAGV编号 = (TextView)view.findViewById(R.id.agvbh);
viewHolder.tv任务状态 = (TextView)view.findViewById(R.id.rwzt);
viewHolder.tv任务类型 = (TextView)view.findViewById(R.id.rwlx);
viewHolder.tv任务优先级 = (TextView)view.findViewById(R.id.rwyxj);
viewHolder.tv起始站点 = (TextView)view.findViewById(R.id.qszd);
viewHolder.tv目的站点 = (TextView)view.findViewById(R.id.mdzd);
viewHolder.tv任务编号.setText(viewHolder.物流任务表.get任务编号());
viewHolder.tvAGV编号.setText(viewHolder.物流任务表.getAGV编号());
if(viewHolder.物流任务表.get任务状态().equals("0")){
viewHolder.tv任务状态.setText("未执行");
}else if(viewHolder.物流任务表.get任务状态().equals("1")){
viewHolder.tv任务状态.setText("执行中");
}else if(viewHolder.物流任务表.get任务状态().equals("2")){
viewHolder.tv任务状态.setText("已完成");
}else if(viewHolder.物流任务表.get任务状态().equals("3")){
viewHolder.tv任务状态.setText("强制取消");
}else if(viewHolder.物流任务表.get任务状态().equals("4")){
viewHolder.tv任务状态.setText("强制完成");
}else if(viewHolder.物流任务表.get任务状态().equals("5")){
viewHolder.tv任务状态.setText("任务已获取");
}else if(viewHolder.物流任务表.get任务状态().equals("6")){
viewHolder.tv任务状态.setText("任务中止");
}else if(viewHolder.物流任务表.get任务状态().equals("9")){
viewHolder.tv任务状态.setText("任务解析错误");
}
if(viewHolder.物流任务表.get任务类型().equals("I")){
viewHolder.tv任务类型.setText("生产入库");
}else if(viewHolder.物流任务表.get任务类型().equals("O")){
viewHolder.tv任务类型.setText("物料出库");
}else if(viewHolder.物流任务表.get任务类型().equals("M")){
viewHolder.tv任务类型.setText("生产上料");
}else if(viewHolder.物流任务表.get任务类型().equals("T")){
viewHolder.tv任务类型.setText("物料入库");
}else if(viewHolder.物流任务表.get任务类型().equals("R")){
viewHolder.tv任务类型.setText("木制托盘回收");
}else if(viewHolder.物流任务表.get任务类型().equals("S")){
viewHolder.tv任务类型.setText("成品托盘运送");
}else if(viewHolder.物流任务表.get任务类型().equals("E")){
viewHolder.tv任务类型.setText("调拨");
}else if(viewHolder.物流任务表.get任务类型().equals("F")){
viewHolder.tv任务类型.setText("塑料托盘回收");
}else if(viewHolder.物流任务表.get任务类型().equals("G")){
viewHolder.tv任务类型.setText("塑料托盘循环");
}
if(viewHolder.物流任务表.get任务优先级().equals("S")){
viewHolder.tv任务优先级.setText("1");
}else if(viewHolder.物流任务表.get任务优先级().equals("P")){
viewHolder.tv任务优先级.setText("2");
}else if(viewHolder.物流任务表.get任务优先级().equals("I")){
viewHolder.tv任务优先级.setText("3");
}else if(viewHolder.物流任务表.get任务优先级().equals("O")){
viewHolder.tv任务优先级.setText("4");
}
viewHolder.tv起始站点.setText(viewHolder.物流任务表.get起始站点());
viewHolder.tv目的站点.setText(viewHolder.物流任务表.get目的站点());
}
return view;
}
class ViewHolder{
物流任务表 物流任务表;
TextView tv任务编号,tvAGV编号,tv任务状态,tv任务类型,tv任务优先级,tv起始站点,tv目的站点;
}
}
其他数据都显示唯独AGV编号这个不显示,DEBUG一下发现没有接收到数据,是NULL,但是其他都有数据,后台WEBserver中也用测试类测试了,可以查到数据,没有报错日志很奇怪,麻烦大家帮忙看看是什么原因造成的。