【问题标题】:How to bind data from dataset to listview?如何将数据集的数据绑定到列表视图?
【发布时间】:2019-07-22 05:01:04
【问题描述】:

我已经使用了来自 Web 服务的数据集,我想将数据字段绑定到列表视图中,但我不知道该怎么做,因为我只想从数据集中绑定一些字段,而不是所有字段。 list_adapter 中的布局是我要从数据集中绑定的数据。

这是我的数据集的 Web 方法。

public System.Data.DataSet RequestTxnReceipt(string strIdentity, string strDateFrom, string strDateTo, string strLocIp, string strDomain) {
        object[] results = this.Invoke("RequestTxnReceipt", new object[] {
                    strIdentity,
                    strDateFrom,
                    strDateTo,
                    strLocIp,
                    strDomain});
        return ((System.Data.DataSet)(results[0]));
    }    

数据列表.cs

DataSet ds = ws.RequestTxnReceipt(userName, "", "", "", "");

list_adapter.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llContainer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/transNo"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="bold"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:text="#20190506170757987"

    android:background="#ff2196c8"
    android:textColor="#ffffffff" />
<ImageView
    android:src="@android:drawable/ic_menu_gallery"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
    android:id="@+id/imageView1"/>
<TextView
    android:text="Date :"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:id="@+id/date"
     />
<TextView
    android:text="Recipient :"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:id="@+id/recipient"
     />

<TextView
    android:id="@+id/currency"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"

    android:text="Currency :" />
<TextView
    android:text="Transaction :"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"

    android:id="@+id/transaction" />

<TextView
    android:text="Slip Verified :"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:id="@+id/slip" />

      <ImageButton
        android:id="@+id/btnCamera"
        android:src="@drawable/camera48"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"/>

</LinearLayout>

【问题讨论】:

  • 不,我仍然收到代码错误
  • 您可以分享一个包含问题的示例,以便我可以在我身边进行测试。不要忘记删除个人信息。

标签: c# android listview xamarin.android dataset


【解决方案1】:

在您的 adapter.cs 中

添加属性和方法

public List<YourModel> dataSource;
public void AddData(List<YourModel> list)
{
  list.AddRange(list);
  NotifyDataSetChanged();
}

调用方法并将数据集作为参数传递给适配器。

GetView方法中

public override View GetView(int position, View convertView, ViewGroup parent)
{
    if (convertView == null)
     {
        convertView =LayoutInflater.From(parent.Context).Inflate(Resource.Layout.list_adapter, null);
     }

    YourModel model = dataSource[position] as YourModel;

     //for example , you want to set the text of textview
    TextView view = convertView.FindViewById<TextView >(Resource.Id.transNo);
    view.Text=model.xxx;             

    return convertView;

}

或者你可以参考https://proandroiddev.com/android-data-binding-listadapter-9e72ce50e8c7

【讨论】:

  • 对于模型我需要为它创建一个类吗?数据源是我拥有的数据集?
  • 是的。你可以试试看。
猜你喜欢
  • 2013-02-15
  • 2015-10-06
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多