@Override
public void onClick(DialogInterface dialog, int which) { new loadhumanServicesAsyncTask().execute(arg[which]); }
}).show();
}
分类按钮点击的代码处理,使用AlertDialog弹出框实现
tvTopTitleRight.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { new
AlertDialog.Builder(DishesListActivity.this).setTitle(\选择分类\ .setSingleChoiceItems(s, curIndex, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
curIndex = which; dialog.dismiss(); shopid = listShop.get(curIndex).getId();
new loadAsyncTask().execute(); }
}).setNegativeButton(\取消\null).show();
} });
5.3在线下单模块的实现
用户在餐厅菜谱列表当中点击一个Item可以进入到详细的介绍页面,该页面详细描述了所选择的的餐厅菜式信息,包括图片、介绍和价格等信息。
同时用户可以在该界面进行下单,下单前需要输入数量,然后点击“提交”按钮来提交订单;
在线下单模块功能流程图如图13所示,展示了在线下单的用户操作过程和系统处理过程。
第 17 页 共 35 页
图13 在线下单流程图
具体的实现效果如图14所示:
第 18 页 共 35 页
图14 在线下单界面
实现的核心代码如下:
//通过url请求获取详情数据
protected String doInBackground(String... params) { String urlString = AppConstant.getUrl(getApplicationContext()) + \ urlString = urlString + \+ params[0] + \ String json = httpHelper.HttpRequest(urlString); return json; }
//解析返回的json字符串,把数据展示到界面上 protected void onPostExecute(String result) { super.onPostExecute(result); dialog.dismiss();
if (result.trim().length() > 0) { try {
jsonArray = new JSONArray(result);
jsonObject = jsonArray.getJSONObject(0);
((TextView)
findViewById(R.id.tvTopTitleCenter)).setText(jsonObject.getString(\itle\
((TextView)
第 19 页 共 35 页
findViewById(R.id.tvTopTitleCenter)).setTextSize(16); if
(!TextUtils.isEmpty(jsonObject.getString(\ asyncImageLoader.loadBitmap(serverUrl + \ imageView1); }
String intro = \单价:¥\+ jsonObject.getString(\
intro += \数量:\\
intro += \简介:\\配料:\ tvIntro.setText(intro);
} catch (JSONException e) { e.printStackTrace(); }
} }
下单操作 使用post请求,提交数据,实现代码如下
//提交订单的代码
protected String doInBackground(String... params) { String urlString = AppConstant.getUrl(getApplicationContext()) + \ Map
map.put(\ map.put(\ map.put(\
String result = httpHelper.HttpPost(urlString, map); return result; }
//判断订单提交后,webservice的返回值,提示订单是否提交成功 protected void onPostExecute(String result) { super.onPostExecute(result); dialog.dismiss();
if (result != null && result.trim().equals(\ toastUtil.show(\下单成功\
} else if (result.trim().equals(\
第 20 页 共 35 页