京东商城选择地址信息
来源:互联网 发布:win10网络视频看不了 编辑:程序博客网 时间:2024/04/28 11:00
京东商城显示有货无货信息
前几天要和京东做接口,其中用到客户选择完地址后,根据选择地址来判断是否有
货,以下是截图
代码块
用到的技术:
- activity间值的传递
- listview列表刷新
- 异步请求
package com.cric.intelem.activity;import java.util.ArrayList;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import com.cric.intelem.ApplicationContext;import com.cric.intelem.MyHttpClient;import com.cric.intelem.R;import com.cric.intelem.adapter.AddressAdapter;import com.cric.intelem.bean.ExGroup;import com.cric.intelem.bean.IntelemHost;import com.cric.intelem.bean.User;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;public class SelectAddressActivity extends Activity { private int page =1; private int ProvinceID=0; private String ProvinceName=""; private int CityID=0; private String CityName=""; private int CountyID=0; private String CountyName=""; private Context context; private boolean lock = false; ListView listview; ArrayList<ExGroup> list = new ArrayList<ExGroup>(); ApplicationContext app; AddressAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = this; app = (ApplicationContext) getApplication(); setContentView(R.layout.select_address_layout); ((TextView) findViewById(R.id.layout_header_title_id)).setText("配送至"); listview = (ListView) findViewById(R.id.layout_select_address_id); adapter = new AddressAdapter(context, list); list = initlist(page); listview.setAdapter(adapter); adapter.notifyDataSetChanged(); listview.setOnItemClickListener(oilistener); ((ImageView)findViewById(R.id.layout_header_btn_right_image_id)) .setVisibility(View.INVISIBLE); ((ImageView)findViewById(R.id.layout_header_btn_left_image_id)) .setImageResource(R.drawable.btn_back); LinearLayout layoutleft = (LinearLayout) findViewById(R.id.layout_header_btn_left_id); layoutleft.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); }/** * 获取省份列表 * @param page * @return */ private ArrayList<ExGroup> initlist(int page){ if(page>1){ list.clear(); } String requestURL = IntelemHost.JDProvince; String UserID = app.getUid(); User user = app.getLoginInfo(); String no = user.getCookie(); RequestParams params = new RequestParams(); params.put("UserID", UserID); params.put("CaptchaNo", no); MyHttpClient.get(requestURL, params, new AsyncHttpResponseHandler(){ @Override public void onSuccess(String content) { //System.out.println(content); JSONArray array; try { JSONObject jsonObject = new JSONObject(content); array = jsonObject.getJSONArray("getprovince"); for(int i=0;i<array.length();i++){ JSONObject temp = (JSONObject) array.get(i); ExGroup gz = new ExGroup(); String provincename = temp.getString("ProvinceName"); String provinceid = temp.getString("ProvinceID"); int id = Integer.parseInt(provinceid); gz.setName(provincename); gz.setId(id); gz.setHasNew(false); list.add(gz); } if(null!=adapter){ adapter.notifyDataSetChanged(); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onStart() { } @Override public void onFailure(Throwable error, String content) { } }); return list; } /** * 获取城市列表 * @param page * @return */ private ArrayList<ExGroup> initcitylist(int page,int pid){ if(page>1){ list.clear(); } String requestURL = IntelemHost.JDCity; String UserID = app.getUid(); User user = app.getLoginInfo(); String no = user.getCookie(); RequestParams params = new RequestParams(); params.put("UserID", UserID); params.put("CaptchaNo", no); params.put("Province", pid+""); MyHttpClient.get(requestURL, params, new AsyncHttpResponseHandler(){ @Override public void onSuccess(String content) { lock = false; JSONArray array; try { JSONObject jsonObject = new JSONObject(content); array = jsonObject.getJSONArray("getcity"); for(int i=0;i<array.length();i++){ JSONObject temp = (JSONObject) array.get(i); ExGroup gz = new ExGroup(); String provincename = temp.getString("CityName"); String provinceid = temp.getString("CityID"); int id = Integer.parseInt(provinceid); gz.setName(provincename); gz.setId(id); gz.setHasNew(false); list.add(gz); } if(null!=adapter){ adapter.notifyDataSetChanged(); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onStart() { lock = true; } @Override public void onFailure(Throwable error, String content) { } }); return list; } /** * 获取区县列表 * @param page * @return */ private ArrayList<ExGroup> initcountylist(int page,int cid){ if(page>1){ list.clear(); } String requestURL = IntelemHost.JDCounty; String UserID = app.getUid(); User user = app.getLoginInfo(); String no = user.getCookie(); RequestParams params = new RequestParams(); params.put("UserID", UserID); params.put("CaptchaNo", no); params.put("City", cid+""); MyHttpClient.get(requestURL, params, new AsyncHttpResponseHandler(){ @Override public void onSuccess(String content) { lock = false; JSONArray array; try { JSONObject jsonObject = new JSONObject(content); array = jsonObject.getJSONArray("getcounty"); for(int i=0;i<array.length();i++){ JSONObject temp = (JSONObject) array.get(i); ExGroup gz = new ExGroup(); String provincename = temp.getString("CountyName"); String provinceid = temp.getString("CountyID"); int id = Integer.parseInt(provinceid); gz.setName(provincename); gz.setId(id); gz.setHasNew(false); list.add(gz); } if(null!=adapter){ adapter.notifyDataSetChanged(); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onStart() { lock = true; } @Override public void onFailure(Throwable error, String content) { } }); return list; } /** * 这里是点击条目是促发的事件 * 第一次点击选择省份 * 第二次点击选择城市 * 第三次点击选择区县 * 每次都获取列表前都清空数据 * 第三次点击后将获取的值返回给前一个acivity并关闭页面 */ public OnItemClickListener oilistener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int arg2, long id) { if((list.size()==0)||lock){ return; }else{ page++; } int realPosition=(int)id; ExGroup eg = list.get(realPosition); int pid = eg.getId(); String pname = eg.getName(); if(page==2){ ProvinceID =pid; ProvinceName = pname; initcitylist(page,pid); }else if(page==3){ CityID= pid; CityName= pname; initcountylist(page, pid); }else if(page==4){ CountyID = pid; CountyName = pname; Intent intent = new Intent(); intent.putExtra("ProvinceID", ProvinceID); intent.putExtra("ProvinceName", ProvinceName); intent.putExtra("CityID", CityID); intent.putExtra("CityName", CityName); intent.putExtra("CountyID", CountyID); intent.putExtra("CountyName", CountyName); setResult(Activity.RESULT_OK, intent); finish(); } } };}
这里是布局文件:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="300dp" <!--这里宽度为300dp可以让页面显示半边,居右对其--> android:layout_height="wrap_content" android:layout_gravity="right" android:orientation="vertical" ><include layout="@layout/layout_header" /> <LinearLayout android:id="@+id/dialog_layout" android:layout_below="@id/layout_header_id" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ffeeeef3" android:paddingBottom="5.0dip" android:gravity="center_horizontal" android:orientation="vertical" > <ListView android:id="@+id/layout_select_address_id" android:layout_width="300dp" android:layout_height="wrap_content" android:cacheColorHint="@android:color/transparent" android:scrollbars="none" android:groupIndicator="@null" android:listSelector="@android:color/darker_gray" android:divider="@drawable/layout_pop_addresslistview_divider"/> </LinearLayout></RelativeLayout>
0 0
- 京东商城选择地址信息
- iOS模仿京东商城中的选择地区样式
- 京东商城手机频道商品价格信息的抓取
- 爬虫案列:京东商城长裤信息获取
- js 京东地址选择
- 京东商城黑幕
- 垃圾京东商城
- 京东商城售后
- 案例--------京东商城
- 京东商城-刘强东
- 【Android】地址选择器 类似于京东的地址选择
- 平台 开发商城选择
- 商城sku选择组合
- 商城购买数量选择
- 商城--更新管理员信息
- 无耻的京东商城
- 京东商城“玩”游戏
- 京东商城涉足保险业务
- LCD1602组件
- 动态内存与智能指针
- commons-logging 和 log4j 之间的关系
- “互联网+”现实版:当食品经销商采用了惠普SDN技术
- 规则 2.12:if后的条件要用括号括起来。
- 京东商城选择地址信息
- test
- cocos2dx3.3开发FlappyBird总结十七:结束语
- 简洁显示浏览器弹出窗口
- C语言内存区域分配
- mysql
- android:descendantFocusability用法简析
- TaskAffinity & LaunchMode
- 从一道面试题说去 2