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();
}
}
转载于:https://my.oschina.net/u/1994482/blog/413172