双层表格

5 篇文章 0 订阅
4 篇文章 0 订阅

       双层表格,listview或gridview中含有表格等双层表格,可以嵌套l自身实现 也可以用for循环实现,数据量不大的情况下,for实现比较简单,下面是一个listview嵌套for实现的表格的例子。

效果图:


实现代码如下:

说明:

        listview中for列表,listview中含有列表的数据展示: show.js 要显示的json数据; GuarantListFragment.java显示的fragment;GuarantAdapter.java 为listview的adapter; adaper_guarant_layout.xml为适配器布局; adapter_guarantinner_layout.xml为for循环布局; GuarantListdata.java为json数据对应的java对象

{
status: "1",
msg: "获取成功",
rows: [
{
gpartners: [
{
id: "179",
company_id: "61",
company_name: "13918244908",
agree_id: "1030",
guarantee_id: "88",
partner_id: "3024",
agree_party: "0",
user_id: "80",
is_sign: "1",
money_init: "0.01",
money_last: "0.01",
sign_time: "2016-05-09 14:37:07",
create_time: "2016-05-09 14:37:07",
update_time: "2016-05-09 14:37:07"
},
{
id: "180",
company_id: "13",
company_name: "13918157549",
agree_id: "1030",
guarantee_id: "88",
partner_id: "3025",
agree_party: "1",
user_id: "16",
is_sign: "0",
money_init: "0.00",
money_last: "0.00",
sign_time: "0000-00-00 00:00:00",
create_time: "2016-05-09 14:37:07",
update_time: "2016-05-09 14:37:07"
}
],
create_time: "2016-05-09 14:37:07",
guarantee_id: "88"
},
{
gpartners: [
{
id: "177",
company_id: "61",
company_name: "13918244908",
agree_id: "1030",
guarantee_id: "87",
partner_id: "3024",
agree_party: "0",
user_id: "80",
is_sign: "1",
money_init: "0.01",
money_last: "0.01",
sign_time: "2016-05-06 11:10:41",
create_time: "2016-05-06 11:10:41",
update_time: "2016-05-06 11:10:41"
},
{
id: "178",
company_id: "13",
company_name: "13918157549",
agree_id: "1030",
guarantee_id: "87",
partner_id: "3025",
agree_party: "1",
user_id: "16",
is_sign: "1",
money_init: "0.00",
money_last: "0.00",
sign_time: "2016-05-06 11:12:53",
create_time: "2016-05-06 11:10:41",
update_time: "2016-05-06 11:12:53"
}
],
create_time: "2016-05-06 11:10:41",
guarantee_id: "87"
}
],
total: "2"
}package com.xiebao.guarantee.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ListAdapter;

import com.google.gson.Gson;
import com.xiebao.R;
import com.xiebao.bean.GuarantListdata;
import com.xiebao.fatherclass.RefreshFragment;
import com.xiebao.fatherclass.fatheradapter.BaseListAdapter;
import com.xiebao.guarantee.adapter.GuarantAdapter;
import com.xiebao.util.IConstant;
import com.xiebao.util.save.SaveUserInfoUtil;
import com.xiebao.view.TopBarView;

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

/**
 * 担保列表
 * Created by admin on 2016/5/9.
 */
public class GuarantListFragment extends RefreshFragment{

    private int requestCode = 27;
    private BaseListAdapter
    
    
     
      adapter;
    protected List
     
     
      
       xiebaoList = new LinkedList
      
      
       
       ();

    public static GuarantListFragment newInstance(Bundle bundle) {
        GuarantListFragment fragment = new GuarantListFragment();
        fragment.setArguments(bundle);
        return fragment;
    }

    @Override
    protected void initView() {
        super.initView();
        hideSeachLayout();
    }

    @Override
    protected void setTitle() {
        topBarView.renderView(R.string.guaran_pingzhen, R.drawable.icon_add_protocol, new TopBarView.OnRightClickListener() {
            @Override
            public void onRightClick() {
//                Intent intent= new Intent();
//                intent.putExtra(IConstant.USER_ID,userId);
//                intent.setClass(context, NewPayActivity.class);
//                startActivityForResult(intent,requestCode);
            }
        });
    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        if (requestCode == this.requestCode && resultCode == context.RESULT_OK) {
            onRefresh();
        }
    }
    @Override
    public String getUrls() {
        final HashMap
       
       
        
         map=new HashMap
        
        
          (); map.put("sid", SaveUserInfoUtil.getUserSid(context)); map.put("username", SaveUserInfoUtil.getUserName(context)); map.put("page", String.valueOf(page));// [必填] 当前页(分页用,1开始) map.put("record", String.valueOf(count));// [必填]每页显示条数(分页用), //协议 id String id = getArguments().getString(IConstant.PROTOCOL_ID); map.put("agree_id",id); return super.getUrl(IConstant.GUARANT_URL, map); } @Override protected void setData(String response) { Gson gson = new Gson(); GuarantListdata data = gson.fromJson(response, GuarantListdata.class); final List 
         
           dataResult = data.getRows(); if (dataResult.size() > 0) { isHaveData = true; } if (isHaveData) { if (isRefresh) { if (!xiebaoList.isEmpty()) { xiebaoList.clear(); } isRefresh = false; } xiebaoList.addAll(dataResult); adapter.updateData(xiebaoList); onLoad(); if (dataResult.size() < count) { mListView.loadFinish(); // isOnceLoadData = false; } } else { emptyView.setVisibility(View.VISIBLE); mListView.setEmptyView(emptyView); } } @Override protected void viewProrocolList(int position) { } @Override protected ListAdapter setAdaper() { adapter=new GuarantAdapter(context); return adapter; } }package com.xiebao.guarantee.adapter; import android.content.Context; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import com.xiebao.R; import com.xiebao.bean.GuarantListdata; import com.xiebao.fatherclass.fatheradapter.BaseListAdapter; import com.xiebao.util.Log; import java.util.List; /** * 担保凭证adapter * Created by admin on 2016/5/9. */ public class GuarantAdapter extends BaseListAdapter 
          
            { public GuarantAdapter(Context context) { super(context); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = inflater.inflate(R.layout.adaper_guarant_layout,parent, false); holder = new ViewHolder(); holder.timeText = findView(convertView,R.id.time_textview); holder.linearLayout = findView(convertView,R.id.container_linearlayout); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } GuarantListdata.RowsEntity data=(GuarantListdata.RowsEntity) getItem(position); holder.timeText.setText( data.getCreate_time()); List 
           
             partners = data.getGpartners(); int number = partners.size(); if (number == 0) { return convertView; } //去除listview布局重用的linearLayout里面的布局 holder.linearLayout.removeAllViews(); for (int i = 0; i < number; i++) { View view = View.inflate(context, R.layout.adapter_guarantinner_layout, null); TextView leftInfor = (TextView) view.findViewById(R.id.leftinfor_textview); TextView rightInfor = (TextView) view.findViewById(R.id.rightinfor_textview); final GuarantListdata.RowsEntity.GpartnersEntity address = partners.get(i); leftInfor.setText(address.getCompany_name()+"\n\n¥ "+address.getMoney_init()); String isSign = address.getIs_sign(); String status; if(TextUtils.equals("0",isSign)){ status = "未确认"; }else { status = "已确认"+"\n\n余额:"+address.getMoney_last(); } rightInfor.setText(status); holder.linearLayout.addView(view); } return convertView; } private class ViewHolder { /** * 时间信息 */ public TextView timeText; /** * 其他的布局 */ private LinearLayout linearLayout; } } 
             
             
              
              
             
             
             
              
              
            package com.xiebao.bean; import java.util.List; /** * 担保数据 * Created by admin on 2016/5/9. */ public class GuarantListdata extends CommonBean{ /** * status : 1 * msg : 获取成功 * rows : [{"gpartners":[{"id":"179","company_id":"61","company_name":"13918244908","agree_id":"1030","guarantee_id":"88","partner_id":"3024","agree_party":"0","user_id":"80","is_sign":"1","money_init":"0.01","money_last":"0.01","sign_time":"2016-05-09 14:37:07","create_time":"2016-05-09 14:37:07","update_time":"2016-05-09 14:37:07"},{"id":"180","company_id":"13","company_name":"13918157549","agree_id":"1030","guarantee_id":"88","partner_id":"3025","agree_party":"1","user_id":"16","is_sign":"0","money_init":"0.00","money_last":"0.00","sign_time":"0000-00-00 00:00:00","create_time":"2016-05-09 14:37:07","update_time":"2016-05-09 14:37:07"}],"create_time":"2016-05-09 14:37:07","guarantee_id":"88"},{"gpartners":[{"id":"177","company_id":"61","company_name":"13918244908","agree_id":"1030","guarantee_id":"87","partner_id":"3024","agree_party":"0","user_id":"80","is_sign":"1","money_init":"0.01","money_last":"0.01","sign_time":"2016-05-06 11:10:41","create_time":"2016-05-06 11:10:41","update_time":"2016-05-06 11:10:41"},{"id":"178","company_id":"13","company_name":"13918157549","agree_id":"1030","guarantee_id":"87","partner_id":"3025","agree_party":"1","user_id":"16","is_sign":"1","money_init":"0.00","money_last":"0.00","sign_time":"2016-05-06 11:12:53","create_time":"2016-05-06 11:10:41","update_time":"2016-05-06 11:12:53"}],"create_time":"2016-05-06 11:10:41","guarantee_id":"87"}] * total : 2 */ private String total; /** * gpartners : [{"id":"179","company_id":"61","company_name":"13918244908","agree_id":"1030","guarantee_id":"88","partner_id":"3024","agree_party":"0","user_id":"80","is_sign":"1","money_init":"0.01","money_last":"0.01","sign_time":"2016-05-09 14:37:07","create_time":"2016-05-09 14:37:07","update_time":"2016-05-09 14:37:07"},{"id":"180","company_id":"13","company_name":"13918157549","agree_id":"1030","guarantee_id":"88","partner_id":"3025","agree_party":"1","user_id":"16","is_sign":"0","money_init":"0.00","money_last":"0.00","sign_time":"0000-00-00 00:00:00","create_time":"2016-05-09 14:37:07","update_time":"2016-05-09 14:37:07"}] * create_time : 2016-05-09 14:37:07 * guarantee_id : 88 */ private List 
            
              rows; public String getTotal() { return total; } public void setTotal(String total) { this.total = total; } public List 
             
               getRows() { return rows; } public void setRows(List 
              
                rows) { this.rows = rows; } public static class RowsEntity { private String create_time; private String guarantee_id; /** * id : 179 * company_id : 61 * company_name : 13918244908 * agree_id : 1030 * guarantee_id : 88 * partner_id : 3024 * agree_party : 0 * user_id : 80 * is_sign : 1 * money_init : 0.01 * money_last : 0.01 * sign_time : 2016-05-09 14:37:07 * create_time : 2016-05-09 14:37:07 * update_time : 2016-05-09 14:37:07 */ private List 
               
                 gpartners; public String getCreate_time() { return create_time; } public void setCreate_time(String create_time) { this.create_time = create_time; } public String getGuarantee_id() { return guarantee_id; } public void setGuarantee_id(String guarantee_id) { this.guarantee_id = guarantee_id; } public List 
                
                  getGpartners() { return gpartners; } public void setGpartners(List 
                 
                   gpartners) { this.gpartners = gpartners; } public static class GpartnersEntity { private String id; private String company_id; private String company_name; private String agree_id; private String guarantee_id; private String partner_id; private String agree_party; private String user_id; private String is_sign; private String money_init; private String money_last; private String sign_time; private String create_time; private String update_time; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCompany_id() { return company_id; } public void setCompany_id(String company_id) { this.company_id = company_id; } public String getCompany_name() { return company_name; } public void setCompany_name(String company_name) { this.company_name = company_name; } public String getAgree_id() { return agree_id; } public void setAgree_id(String agree_id) { this.agree_id = agree_id; } public String getGuarantee_id() { return guarantee_id; } public void setGuarantee_id(String guarantee_id) { this.guarantee_id = guarantee_id; } public String getPartner_id() { return partner_id; } public void setPartner_id(String partner_id) { this.partner_id = partner_id; } public String getAgree_party() { return agree_party; } public void setAgree_party(String agree_party) { this.agree_party = agree_party; } public String getUser_id() { return user_id; } public void setUser_id(String user_id) { this.user_id = user_id; } public String getIs_sign() { return is_sign; } public void setIs_sign(String is_sign) { this.is_sign = is_sign; } public String getMoney_init() { return money_init; } public void setMoney_init(String money_init) { this.money_init = money_init; } public String getMoney_last() { return money_last; } public void setMoney_last(String money_last) { this.money_last = money_last; } public String getSign_time() { return sign_time; } public void setSign_time(String sign_time) { this.sign_time = sign_time; } public String getCreate_time() { return create_time; } public void setCreate_time(String create_time) { this.create_time = create_time; } public String getUpdate_time() { return update_time; } public void setUpdate_time(String update_time) { this.update_time = update_time; } } } } 
                  
                 
                
               
              
             
            
           
          
        
       
       
      
      
     
     
    
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值