【问题标题】:Xamarin ArrayAdapter doesn't work with int[]Xamarin ArrayAdapter 不适用于 int[]
【发布时间】:2018-02-19 18:55:21
【问题描述】:

我有一个带有数组适配器的列表视图。我需要在该列表视图中显示一个 int[],但它仅适用于 string[]。有什么想法吗?

这是我的代码:

int[] a = new int[20];

ArrayAdapter adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, a[i]);

ListView list = FindViewById<ListView>(Resource.Id.listView1);
list.Adapter = adapter;

int i 正在循环中。

【问题讨论】:

  • 那段代码看起来你只是传入索引 i 处的 int 值,而不是实际的数组,难道它只是: int[] a = new int[20]; ArrayAdapter 适配器 = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, a)

标签: c# listview xamarin xamarin.android android-arrayadapter


【解决方案1】:

可以转换成字符串数组,

string[] result = a.Select(x=>x.ToString()).ToArray();

ArrayAdapter adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, result[i]);

【讨论】:

    【解决方案2】:

    使用基于 IList 的集合以允许自动 C#/Java 类型转换

    var a = new List<int>() { 1,2,3 };
    var adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, a);
    ListView list = FindViewById<ListView>(Resource.Id.listView1);
    list.Adapter = adapter;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2020-02-07
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多