for循环创建列表

简单的,数据少的列表可以用for实现,避免用Listview --->Adapter的繁琐


先上效果图:


关键代码如下:

1.要显示的数据,json格式:

{
    "status": "1",
    "msg": "获取协议列表成功",
    "list": [
        {
            "id": "1",
            "parent_id": "0",
            "name": "中国",
            "remark": "",
            "rank": "0",
            "id_link": "0_1_",
            "is_end": "0",
            "son": [
                {
                    "id": "2",
                    "parent_id": "1",
                    "name": "北京",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_2_",
                    "is_end": "0"
                },
                {
                    "id": "3",
                    "parent_id": "1",
                    "name": "天津",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_3_",
                    "is_end": "0"
                },
                {
                    "id": "4",
                    "parent_id": "1",
                    "name": "河北省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_4_",
                    "is_end": "0"
                },
                {
                    "id": "5",
                    "parent_id": "1",
                    "name": "山西省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_5_",
                    "is_end": "0"
                },
                {
                    "id": "6",
                    "parent_id": "1",
                    "name": "内蒙古",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_6_",
                    "is_end": "0"
                },
                {
                    "id": "7",
                    "parent_id": "1",
                    "name": "辽宁省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_7_",
                    "is_end": "0"
                },
                {
                    "id": "8",
                    "parent_id": "1",
                    "name": "吉林省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_8_",
                    "is_end": "0"
                },
                {
                    "id": "9",
                    "parent_id": "1",
                    "name": "黑龙江",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_9_",
                    "is_end": "0"
                },
                {
                    "id": "10",
                    "parent_id": "1",
                    "name": "上海",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_10_",
                    "is_end": "0"
                },
                {
                    "id": "11",
                    "parent_id": "1",
                    "name": "江苏省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_11_",
                    "is_end": "0"
                },
                {
                    "id": "12",
                    "parent_id": "1",
                    "name": "浙江省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_12_",
                    "is_end": "0"
                },
                {
                    "id": "13",
                    "parent_id": "1",
                    "name": "安徽省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_13_",
                    "is_end": "0"
                },
                {
                    "id": "14",
                    "parent_id": "1",
                    "name": "福建省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_14_",
                    "is_end": "0"
                },
                {
                    "id": "15",
                    "parent_id": "1",
                    "name": "江西省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_15_",
                    "is_end": "0"
                },
                {
                    "id": "16",
                    "parent_id": "1",
                    "name": "山东省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_16_",
                    "is_end": "0"
                },
                {
                    "id": "17",
                    "parent_id": "1",
                    "name": "河南省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_17_",
                    "is_end": "0"
                },
                {
                    "id": "18",
                    "parent_id": "1",
                    "name": "湖北省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_18_",
                    "is_end": "0"
                },
                {
                    "id": "19",
                    "parent_id": "1",
                    "name": "湖南省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_19_",
                    "is_end": "0"
                },
                {
                    "id": "20",
                    "parent_id": "1",
                    "name": "广东省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_20_",
                    "is_end": "0"
                },
                {
                    "id": "21",
                    "parent_id": "1",
                    "name": "广  西",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_21_",
                    "is_end": "0"
                },
                {
                    "id": "22",
                    "parent_id": "1",
                    "name": "海南省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_22_",
                    "is_end": "0"
                },
                {
                    "id": "23",
                    "parent_id": "1",
                    "name": "重庆",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_23_",
                    "is_end": "0"
                },
                {
                    "id": "24",
                    "parent_id": "1",
                    "name": "四川省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_24_",
                    "is_end": "0"
                },
                {
                    "id": "25",
                    "parent_id": "1",
                    "name": "贵州省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_25_",
                    "is_end": "0"
                },
                {
                    "id": "26",
                    "parent_id": "1",
                    "name": "云南省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_26_",
                    "is_end": "0"
                },
                {
                    "id": "27",
                    "parent_id": "1",
                    "name": "西  藏",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_27_",
                    "is_end": "0"
                },
                {
                    "id": "28",
                    "parent_id": "1",
                    "name": "陕西省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_28_",
                    "is_end": "0"
                },
                {
                    "id": "29",
                    "parent_id": "1",
                    "name": "甘肃省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_29_",
                    "is_end": "0"
                },
                {
                    "id": "30",
                    "parent_id": "1",
                    "name": "青海省",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_30_",
                    "is_end": "0"
                },
                {
                    "id": "31",
                    "parent_id": "1",
                    "name": "宁  夏",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_31_",
                    "is_end": "0"
                },
                {
                    "id": "32",
                    "parent_id": "1",
                    "name": "新  疆",
                    "remark": "",
                    "rank": "1",
                    "id_link": "0_1_32_",
                    "is_end": "0"
                }
            ]
        }
    ]
}

2.显示的activity,及fragment,自定义GridAdapter:


import java.util.HashMap;
import java.util.List;

import android.R.anim;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;

import com.google.gson.Gson;
import com.xiebao.R;
import com.xiebao.addtrad.adapter.GridAddressAdapter;
import com.xiebao.bean.Address;
import com.xiebao.bean.AddressList;
import com.xiebao.fatherclass.FatherFragment;
import com.xiebao.util.IConstant;
import com.xiebao.util.save.SaveUserInfoUtil;
import com.xiebao.view.TopBarView;

public class AddressGridFragment extends FatherFragment {

	protected String areaid = "0";
	private ViewGroup rootView;
	/**
	 * 清空条件
	 */
	private View mClear;

	public static AddressGridFragment newInstance() {
		AddressGridFragment frag = new AddressGridFragment();
		return frag;

	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		rootView = (ViewGroup) inflater.inflate(R.layout.address_grid_fragment_layout,
				container, false);

		topBarView = (TopBarView) rootView.findViewById(R.id.topBarView);
		mClear=findView(rootView, R.id.clear_condition);
		return rootView;
	}

	@Override
	public void onActivityCreated(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onActivityCreated(savedInstanceState);
		initView();
		initListener();
	}

	private void initListener() {
		mClear.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				saveAddress(null);
			}
		});
		getAreaData();
	}

	/**
	 * 获取地址数据
	 */
	private void getAreaData() {
		final HashMap
    
    
     
      hashMap = new HashMap
     
     
      
      ();
		// session id 暂定为fm253j45fsl2bk63csu2ln2p87
		hashMap.put("sid", SaveUserInfoUtil.getUserSid(context));
		// 用户名,暂定为bbbbb
		hashMap.put("username", SaveUserInfoUtil.getUserName(context));
		// String
		// area=getArguments().getString(IConstant.AREA_ID,String.valueOf(0));
		// 区域id
		hashMap.put("area_id", areaid);
		String url = super.getUrl(IConstant.AREA_LIST, hashMap);
		super.volley_post(url);
	}

	@Override
	protected void correcttResponse(String response) {
		// TODO Auto-generated method stub

		setData(response);
	}

	private void setData(String response) {

		Gson gson = new Gson();
		AddressList data = gson.fromJson(response, AddressList.class);
		List
     
     
    
    
list = data.getList(); int number = list.size(); if (number == 0) { return; } for (int i = 0; i < number; i++) { View view = View.inflate(context, R.layout.single_address_layout, null); TextView countName = (TextView) view.findViewById(R.id.county_name); GridView gridview = (GridView) view.findViewById(R.id.gridview); final Address adress = list.get(i); countName.setText(adress.getName()); countName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { saveAddress(adress); } }); // GridAddressAdapter adpter=new GridAddressAdapter(context, list) List
sonList = adress.getSon(); GridAddressAdapter adapter=new GridAddressAdapter(context, sonList); // ArrayAdapter
adapter=new ArrayAdapter
(context, android.R.layout.simple_list_item_1, sonList); gridview.setAdapter(adapter); rootView.addView(view); } } private void initView() { topBarView.renderView(R.string.area_text); } } import android.support.v4.app.Fragment; import com.xiebao.addtrad.fragment.AddressGridFragment; import com.xiebao.fatherclass.AbstractListFragmentActivity; public class AddressGridActivity extends AbstractListFragmentActivity{ @Override protected Fragment setFragment() { // TODO Auto-generated method stub return AddressGridFragment.newInstance(); } }import java.util.List; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.sax.StartElementListener; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.xiebao.R; import com.xiebao.addtrad.activity.AddressListActivity; import com.xiebao.bean.Address; import com.xiebao.core.ToastUtils; public class GridAddressAdapter extends AddressAdapter { /** * 地区id */ public static final String AREA = "AREA_ID"; public GridAddressAdapter(Context context, List
data) { super(context, data); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textview = (TextView) inflater.inflate( R.layout.grid_item_layout, parent, false); final Address address = (Address) getItem(position); final String addreName = address.getName(); textview.setText(addreName); textview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putSerializable(GridAddressAdapter.AREA, address); context.startActivity(new Intent(context, AddressListActivity.class).putExtras(bundle)); context.finish(); } }); return textview; } }

3.xml布局文件


    
    

    
    

    
     
     

    
     
     

    
     
     


    
    
    
    

    
    
    
     
     
    
     
     
    
     
     

    
    

    
    

    
    

    
    




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值