文档章节

ListActivity--订单

 易水寒521
发布于 2015/05/11 10:34
字数 1084
阅读 12
收藏 0
public class ListActivity extends CommonActivity implements OnClickListener {
 private List<Map<String, Object>> mData;
 /**
  * 消息传递
  */
 private Intent intent;
 /**
  * 确定下单按钮
  */
 private Button btn_sure;
 /**
  * 返回按钮
  */
 private Button btn_back;
 /**
  * 取消下单按钮
  */
 private Button btn_cancel;
 /**
  * 显示下单信息
  */
 private TextView timetv = null;
 /**
  * 备注
  */
 private EditText beizhuEditText;
 /**
  * 流水账号 显示的textview
  */
 private TextView txt_list_num;
 /**
  * 菜的实体
  */
 private static Food goods;
 /**
  * ListView的Adapter
  */
 private MyAdapter adapter;
 /**
  * 显示点菜信息的ListView
  */
 private ListView lv;
 /**
  * 服务器返回的结果信息
  */
 private String json_back_message;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_list);
  txt_list_num = (TextView) findViewById(R.id.txt_list_num);
  btn_sure = (Button) findViewById(R.id.btn_list_sure);
  btn_sure.setOnClickListener(this);
  btn_back = (Button) findViewById(R.id.btn_list_back);
  btn_back.setOnClickListener(this);
  btn_cancel = (Button) findViewById(R.id.btn_list_cancel);
  btn_cancel.setOnClickListener(this);
  txt_list_num.setText(liushuizhanghao);
  mData = getTripList();
  adapter = new MyAdapter(this);
  lv = (ListView) findViewById(R.id.listViewshow);
  lv.setAdapter(adapter);
 }
 /**
  * 重写键盘按键按下是触发该方法
  */
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
   intent = new Intent(this, MenuActivity.class);
   // 不为null,则跳转页面
   if (intent != null) {
    startActivity(intent);
    this.finish();
    intent = null; }} return false; }
 /**
  * 按钮的点击事件
  */
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.btn_list_cancel:
   intent = new Intent(this, MenuActivity.class);
   DataShare.shopList.clear();
   break;
  case R.id.btn_list_back:
   intent = new Intent(this, MenuActivity.class);
   break;
  case R.id.btn_list_sure:
   timetv = new TextView(ListActivity.this);
   timetv.setText("账号:" + username + "\n流水账号:" + liushuizhanghao
     + "\n到期时间:" + daoqitime + "");
   // 确认下单的对话框
   new AlertDialog.Builder(ListActivity.this)
     .setIcon(R.drawable.icon)
     .setTitle("确定下单")
     .setView(timetv)
     .setPositiveButton("确定",
       new DialogInterface.OnClickListener() {
        public void onClick(
          DialogInterface dialoginterface, int i) {
         if (xiadanPro()) {
          Insertdata();
          intent = new Intent(ListActivity.this,
            MainActivity.class);
          startActivity(intent);
          ListActivity.this.finish();
          intent = null;
          DataShare.shopList.clear();
          Toast.makeText(ListActivity.this,
            json_back_message,
            Toast.LENGTH_LONG).show();
         } else {
          Toast.makeText(ListActivity.this,
            json_back_message,
            Toast.LENGTH_LONG).show();         }        }   })
     .setNeutralButton("取消",
       new DialogInterface.OnClickListener() {
        public void onClick(
          DialogInterface dialoginterface, int i) {        }       }).show();   break;  default:   break;  }
 if (intent != null) {
   startActivity(intent);
   this.finish();
   intent = null;
  }
 }
 /**
  * 向数据库插入下单信息
  */
 private void Insertdata() {
  // 循环点菜单实体,向数据库插入信息
  for (int i = 0; i < DataShare.shopList.size(); i += 1) {
   goods = DataShare.shopList.get(i);
   database.execSQL(
     "INSERT INTO xiadan(username,grade,liushuihao,tablenum,xuhao,caiming,danjia,shuliang,jiage) "
       + "VALUES(?,1,?,?,?,?,?,?,?)",
     new String[] { username, liushuizhanghao, tablename,
       String.valueOf(goods.getId()), goods.getName(),
       String.valueOf(goods.getDanjia()),
       String.valueOf(goods.getNum()),
       String.valueOf(goods.getJiage()) });
  }
  // 更新
  String ss = "INSERT INTO liushuibiao(liushuizhanghao) values(?)";
  database.execSQL(ss, new String[] { liushuizhanghao });
 }
 /**
  * 判断是否注册成功
  */
 private boolean xiadanPro() {
  try {
   // 流水号
   String orders = liushuizhanghao;
   String name = "";
   // 当前用户名
   String cus = username;
   // 备注
   String status = "备注";
   // 总价格
   double sum = 0;
   for (int i = 0; i < DataShare.shopList.size(); i++) {
    sum = sum + DataShare.shopList.get(i).getJiage();
   }
   // 将点菜下单信息封装到JSONArray对象中
   JSONArray ja = new JSONArray();
   for (int i = 0; i < DataShare.shopList.size(); i++) {
    JSONObject js = new JSONObject();
    js.put("list" + i, DataShare.shopList.get(i).getId() + ","
      + DataShare.shopList.get(i).getNum() + ","
      + DataShare.shopList.get(i).getBeizhu());
    ja.put(i, js.toString());
    System.out.println("js.toString()"+js.toString());
   }
   // 获取返回的JSON对象
   JSONObject jsonObj = query(orders, name, cus, status,
     String.valueOf(sum), ja);
   json_back_message = jsonObj.getString("rtmsg");
   // 如果接收到的结果代码"rt"=200
   if (jsonObj.getString("rt").equals("200")) {
    return true;
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return false;
 }
 /**
  * 定义发送请求的方法
  * @param  orders
       订单号
  * @param  name
  *            登录用户名称
  * @param  cus
  *            会员号
  * @param status
  *            备注
  * @param sum
  *            点菜总价
  * @param list
  *            点菜信息集合
  * @return
  * @throws Exception
  */
 private JSONObject query(String orders, String name, String cus,
   String status, String sum, JSONArray ja) throws Exception {
  JSONObject js = new JSONObject();
  js.put("orders", orders);
  js.put("name", name);
  js.put("cus", cus);
  js.put("sum", sum);
  js.put("status", status);
  js.put("list", ja);
  // 封装请求参数
  List<NameValuePair> params = new ArrayList<NameValuePair>();
  params.add(new BasicNameValuePair("list", js.toString()));
  // 发送请求
  return new JSONObject(HttpUtil.postRequest(HttpUtil.XIADAN_URL, params));
 }
 /**
  * list集合总是将显示在listview上的数据存在集合里
  */
 public List<Map<String, Object>> getTripList() {
  List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
  for (int i = 0; i < DataShare.shopList.size(); i += 1) {
   Map<String, Object> map = new HashMap<String, Object>();
   goods = DataShare.shopList.get(i);
   map.put("xuhao", "" + goods.getId());
   map.put("caiming", "" + goods.getName());
   map.put("danjia", "¥" + goods.getDanjia());
   map.put("shuliang", "" + goods.getNum());
   map.put("jiage", "¥" + goods.getJiage());
   map.put("beizhutv", "" + goods.getBeizhu());
   list.add(map);
  }
  return list;
 }
 public final class ViewHolder {
  public Button beizhu;// 备注按钮
  public Button shanchu;// 删除按钮
  public TextView xuhao;// 序号
  public TextView caiming;// 菜名
  public TextView danjia;// 单价
  public TextView shuliang;// 数量
  public TextView jiage;// 价格
  public TextView beizhutv;// 备注
 }
 /**
  * 自定义适配器
  * 
  * @author Administrator
  * 
  */
 public class MyAdapter extends BaseAdapter {
  private LayoutInflater mInflater;
  public MyAdapter(Context context) {
   this.mInflater = LayoutInflater.from(context);
  }
  public int getCount() {
   return mData.size();
  }
  public Object getItem(int arg0) {
   return null;
  }
  public long getItemId(int arg0) {
   return 0;
  }
  public View getView(final int position, View convertView,
    ViewGroup parent) {
   ViewHolder holder = null;
   if (convertView == null) {
    holder = new ViewHolder();
    convertView = mInflater.inflate(R.layout.style_caidan, null);
    holder.xuhao = (TextView) convertView
      .findViewById(R.id.textViewxuhao);
    holder.caiming = (TextView) convertView
      .findViewById(R.id.textViewcaiming);
    holder.danjia = (TextView) convertView
      .findViewById(R.id.textViewdanjia);
    holder.shuliang = (TextView) convertView
      .findViewById(R.id.textViewshuliang);
    holder.jiage = (TextView) convertView
      .findViewById(R.id.textViewjiage);
    holder.beizhutv = (TextView) convertView
      .findViewById(R.id.textViewbeizhu);
    holder.beizhu = (Button) convertView
      .findViewById(R.id.buttonbeizhu);
    holder.shanchu = (Button) convertView
      .findViewById(R.id.buttonshanchu);
    convertView.setTag(holder);
   } else {
    holder = (ViewHolder) convertView.getTag();
   }
   holder.xuhao.setText((String) mData.get(position).get("xuhao"));
   holder.caiming.setText((String) mData.get(position).get("caiming"));
   holder.danjia.setText((String) mData.get(position).get("danjia"));
   holder.shuliang.setText((String) mData.get(position)
     .get("shuliang"));
   holder.jiage.setText((String) mData.get(position).get("jiage"));
   holder.beizhutv.setText((String) mData.get(position)
     .get("beizhutv"));
   System.out.println("text::" + holder.beizhutv.getText());
   holder.beizhu.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0) {
     showInfo1(position);
    }
   });
   holder.shanchu.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
     showInfo2(position);
    }
   });
   return convertView;
  }
 }
 public void showInfo1(final int position) {
  beizhuEditText = new EditText(ListActivity.this);
  new AlertDialog.Builder(ListActivity.this).setIcon(R.drawable.icon)
    .setTitle("备注").setView(beizhuEditText)
    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialoginterface, int i) {
      DataShare.shopList.get(position).setBeizhu(
        beizhuEditText.getText().toString());
      intent = new Intent(ListActivity.this,
        ListActivity.class);
      startActivity(intent);
      ListActivity.this.finish();
      intent = null;
     }
    }).show();
 }
 public void showInfo2(final int position) {
  new AlertDialog.Builder(this)
    .setTitle("是否删除")
    .setMessage("...")
    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int which) {
      DataShare.shopList.remove(position);
      intent = new Intent(ListActivity.this,
        ListActivity.class);
      startActivity(intent);
      ListActivity.this.finish()
      intent = null;
     }
    })
    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
     }
    }).show();
 }
}

© 著作权归作者所有

上一篇: activity_list.xml
下一篇: ShowAllPic--图片
粉丝 1
博文 130
码字总数 120077
作品 0
虹口
私信 提问
为ListActivity 添加Button

参考: http://stackoverflow.com/questions/4740197/add-buttons-to-a-listactivity From http://developer.android.com/reference/android/app/ListActivity.html: “ListActivity has a ......

孙洪波
2018/06/26
0
0
通过ListActivity使用ListView布局方法

先简单的介绍一下ListActivity ListActivity是一个专门显示ListView的Activity类,它内置了ListView对象,只要我们设置了数据源,就会自动地显示出来。ListActivity和普通的Activity没有太大...

鉴客
2011/11/01
3.9K
1
Android基础教程(十)之-------ListView的应用

Step one:创建一个新的Android工程,命名为ListViewDemo. Step two:找到ListViewDemo.java,把我们习惯的继承Activity,改成ListActivity,如下: public class ListViewDemo extends ListActivit......

神勇小白鼠
2011/01/06
397
0
listView_v2_系统提供的一些 adapter适配器

上期说道listview 还有些自带的adapter 这里给大家稍微介绍两个 第一个:ArrayAdapter 首先这个ArrayAdapter已经实现了BaseAdapter中的那四个override方法,并且这个适配器中只能有一个TextV...

yzh47200899
2013/08/11
0
0
ListActivity及ListView使用方法

概述 ListActivity是一个专门显示ListView的Activity类,可以用来显示一个列表数据,它内置了ListView对象,实现数据源的绑定与显示,数据源通常会是一个array或者一个拥有查询结果的cursor,...

huist
2016/03/16
475
0

没有更多内容

加载失败,请刷新页面

加载更多

详解tomcat的连接数与线程池

前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章 详解Tomcat配置文件server.xml 中写到过:Con...

xiaomin0322
24分钟前
3
0
分布式锁的由来、特点、及Redis分布式锁的实现详解

什么是分布式锁 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 1.线程锁 主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代...

一只会编程的狼
29分钟前
5
0
docker+tomcat+负载均衡

1、首先安装docker docker安装 2、docker安装tomcat docker安装tomcat(支持多个) 3、docker按照nginx docker按照nginx 可能在最后你放我项目地址后,会发现nginx样式丢失先现象,不用慌,按...

你好夜故事
32分钟前
4
0
【巨杉数据库SequoiaDB】巨杉⼯具系列之一 | ⼤对象存储⼯具sdblobtool

近期,巨杉数据库正式推出了完整的SequoiaDB 工具包,作为辅助工具,更好地帮助大家使用和运维管理分布式数据库。为此,巨杉技术社区还将持续推出工具系列文章,帮助大家了解巨杉数据库丰富的...

巨杉数据库
32分钟前
3
0
软件开发相关规范

1,语义化版本 2.0.0

四季变幻
40分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部