为了账号安全,请及时绑定邮箱和手机立即绑定

使用 BaseAdapter 到 Listview.Adapter 的 JSON 内容对象

使用 BaseAdapter 到 Listview.Adapter 的 JSON 内容对象

C#
湖上湖 2023-09-24 10:56:31
如何使用适配器将 json 对象结果放入列表视图中?对象类 public class ScVsrList    {        public int vnd { get; set; }        public string drref { get; set; }        public int dpt { get; set; }        public string dname { get; set; }        public int sdp { get; set; }        public int cls { get; set; }        public string cname { get; set; }        public int ctn { get; set; }        public List<ScDrList> drList2 { get; set; }    }    public class ScDrList    {        public int vnd2 { get; set; }        public string drref { get; set; }    }   public  class StoreConsignorVsrObject    {        public string status { get; set; }        public string env { get; set; }        public string vsr { get; set; }        public string type { get; set; }        public List<ScVsrList> drList { get; set; }    }*我的代码使用 XAMARIN ANDROID 的 REST 客户端*var client = new RestClient("http://10.121.4.72:10010/web/services/getVSRdt");                var request = new RestRequest(Method.POST);                request.AddHeader("Content-type", "application/json");                var requestObject = new VsrRequestObject                {                    env = "DSP",                    vsr = GlobalVariable.VsrNumber,                    token = "967F058F023DA12798F2D41CDC2F2A5C6D4A6F5D40069A80V3S98R9RFPDT"                };                request.AddJsonBody(requestObject);                var response = client.Execute(request);                var content = response.Content;                StoreConsignorVsrObject item = JsonConvert.DeserializeObject<StoreConsignorVsrObject>(content);                if (item != null)                {                    LayoutInflater inflate = LayoutInflater.From(this);                    View view = inflate.Inflate(Resource.Layout.activity_storeconsignorvsrmonitoring, null);                    alertBuilder = new Android.Support.V7.App.AlertDialog.Builder(this);                    alertBuilder.SetView(view);                    contentDialog = alertBuilder.Create();
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

一个问题是items您StoreConsignorDetailAdapter应该列出的不是单个对象。因此您可以定义一个列表变量:


 private List<ScVsrList> drList;

你可以这样做:


public class StoreConsignorDetailAdapter: BaseAdapter<ScVsrList>

{

    private StoreConsignorVsrObject item;

    AppCompatActivity activity;


    private List<ScVsrList> drList;  // defile variable drList



    public StoreConsignorDetailAdapter(AppCompatActivity activity, StoreConsignorVsrObject item)

    {

        this.item = item;

        this.activity = activity;


        this.drList = item.drList; // assign value to drList 

    }



    public override ScVsrList this[int position]

    {

        get

        {

            return drList[position];

        }

    }


    public override int Count

    {

        get

        {

            return drList.Count;

        }

    }


    public override long GetItemId(int position)

    {

        return position;

    }


    public override View GetView(int position, View convertView, ViewGroup parent)

    {

        var item = drList[position];

        View view = convertView;


        if (view == null)

        {

            view = activity.LayoutInflater.Inflate(Resource.Layout.adapter_storeconsignorvsrmonitoring, null);

        }


        //var detail = drList.FirstOrDefault();


        view.FindViewById<TextView>(Resource.Id.txtViewVendorNum).Text = item.vnd.ToString();

        view.FindViewById<TextView>(Resource.Id.txtViewVdrNumber).Text = item.drref.ToString();

        view.FindViewById<TextView>(Resource.Id.txtViewTotal).Text = item.ctn.ToString();

        view.FindViewById<TextView>(Resource.Id.txtViewMvdr).Text = item.drList2.Count.ToString();

        view.FindViewById<TextView>(Resource.Id.txtViewDepartment).Text = item.dname;

        view.FindViewById<TextView>(Resource.Id.txtViewStatus).Text = "SHIPPED";



        return view;

    }


}



查看完整回答
反对 回复 2023-09-24
  • 1 回答
  • 0 关注
  • 49 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信