京东商城显示有货无货信息

前几天要和京东做接口,其中用到客户选择完地址后,根据选择地址来判断是否有
货,以下是截图


代码块

用到的技术:

  1. activity间值的传递
  2. listview列表刷新
  3. 异步请求
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;@Overrideprotected 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() {@Overridepublic 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(){    @Overridepublic 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();}}@Overridepublic void onStart() {}@Overridepublic 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(){    @Overridepublic 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();}}@Overridepublic void onStart() {lock = true;}@Overridepublic 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(){    @Overridepublic 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();}}@Overridepublic void onStart() {lock = true;}@Overridepublic void onFailure(Throwable error, String content) {}});return list;}/*** 这里是点击条目是促发的事件* 第一次点击选择省份* 第二次点击选择城市* 第三次点击选择区县* 每次都获取列表前都清空数据* 第三次点击后将获取的值返回给前一个acivity并关闭页面*/public OnItemClickListener oilistener = new OnItemClickListener() {@Overridepublic 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>

京东商城选择地址信息相关推荐

  1. 用scrapy爬取京东商城的商品信息

    软件环境: 1 gevent (1.2.2) 2 greenlet (0.4.12) 3 lxml (4.1.1) 4 pymongo (3.6.0) 5 pyOpenSSL (17.5.0) 6 r ...

  2. Python爬取【京东商城】商品信息实例(末尾有关于价格的爬取)

    以爬取商品类别--'笔记本电脑'为例 代码如下: import requests from lxml.html import etreeheaders = {'authority': 'search. ...

  3. iOS模仿京东商城中的选择地区样式

    在ViewController文件中创建添加地址界面: @property(nonatomic,strong)UILabel *selectAreaLabel;//地区显示 @property(non ...

  4. 京东商城华丽数据背后的忧患!

    "据媒体报道,在京东商城未来收入预计上,2012年预计收入为450亿元,2013年预计收入为700亿元,2015年收入预计为1900-2200亿元." "京东此次活动豪抛 ...

  5. 利用python爬虫爬取京东商城商品图片

    笔者曾经用python第三方库requests来爬取京东商城的商品页内容,经过解析之后发现只爬到了商品页一半的图片.(这篇文章我们以爬取智能手机图片为例) 当鼠标没有向下滑时,此时查看源代码的话,就会 ...

  6. Python分布式抓取和分析京东商城评价

    互联网购物现在已经是非常普遍的购物方式,在互联网上购买商品并且使用之后,很多人都会回过头来对自己购买的商品进行一些评价,以此来表达自己对于该商品使用后的看法.商品评价的好坏对于一个商品的重要性显而易见 ...

  7. 【爬虫】用Selenium+PyQuery爬取京东商城

    文章目录 前言 1. 项目预览 2. 库的引入 3. 爬取流程 4. 驱动浏览器搜索关键字 4. 1页面分析 4.2 驱动浏览器代码 5. 解析页面 5.1 页面分析 5.2 页面解析代码 6. 保存 ...

  8. php商城手机端省市显示,jQuery仿手机京东商城收货地址城市选择

    jQuery仿手机京东商城收货地址城市选择 js代码 /** * 默认调用 */ !function () { var $target = $('#J_Address'); $target.cityS ...

  9. Scrapy练习——爬取京东商城商品信息

    刚刚接触爬虫,花了一段时间研究了一下如何使用scrapy,写了一个比较简单的小程序,主要用于爬取京东商城有关进口牛奶页面的商品信息,包括商品的名称,价格,店铺名称,链接,以及评价的一些信息等.简单记录 ...

  10. Scrapy框架爬虫项目:京东商城笔记本电脑信息爬取

    一.创建Scrapy项目 在cmd中输入一下指令创建一个新的scrapy项目及一个爬虫 scrapy startproject JD_Goodscd JD_Goodsscrapy genspider ...

最新文章

  1. 3天学会TensorFlow | 香港科技大学
  2. java dh密钥交换_java-信息安全(八)-迪菲-赫尔曼(DH)密钥交换
  3. 【大数据教程】HDFS基本架构、基本命令、回收站机制和API操作
  4. Angular filter test
  5. matlab安装MinGW-64代码C/C++编译器的方法
  6. 【C语言笔记初级篇】第七章:结构体相关
  7. 做完四个小项目的收获
  8. 95-36-200-ChannelHandler-系统Channel-LoggingHandler
  9. 梦断代码----阅读笔记3
  10. 《Go程序设计语言》- 第10章:包和go工具
  11. Ubuntu上下载百度网盘资料
  12. 运用二维数组打印杨辉三角(找规律题)
  13. BZOJ 1513 [POI2006]Tet-Tetris 3D 二维线段树
  14. 用计算机命令合成机械头像,PHOTOSHOP合成的逼真机械头像
  15. brother printer 打印机 winform 小工具
  16. 白话ROS(机器人操作系统)
  17. PHP --- 数组去重
  18. prfpset文件怎么导入pr?pr预设如何导入?
  19. 程序员孙某三年白干:因违反腾讯《竞业协议》赔 97.6 万元,返还 15.8 万元
  20. Commvault蔡报永:数据孤岛是中国企业数据管理的最大障碍

热门文章

  1. python sep参数_Python中带有print()函数的sep参数
  2. 【Matlab水果识别】RGB+HSV水果成熟度分级系统【含GUI源码 825期】
  3. java用线程做小球碰撞_多线程之碰撞小球
  4. rest-assured一些使用心得
  5. 音视频开发技术,让智能家居更智能!
  6. C语言:计算个人所得税
  7. WordpressCMS主题开发04-如何在首页调用各个分类下的文章以及图片栏目
  8. bzoj4816 [Sdoi2017]数字表格(反演)
  9. CMS采集插件-CMS自动采集插件免费
  10. 2021最新域名授权系统网站源码 全新一键安装源码+卡密自助授权+全新UI界面