android mono:使用 List<T> 而不是 ArrayAdapter 来使用 Contains 方法

Posted

技术标签:

【中文标题】android mono:使用 List<T> 而不是 ArrayAdapter 来使用 Contains 方法【英文标题】:android mono: using List<T> instead of ArrayAdapter to make use of the Contains method 【发布时间】:2012-09-21 10:56:27 【问题描述】:

我关心的主要是使用List的Contains方法(我认为最好的检查方法)。

控件: Spinner、EditText 和 Button(用于检查)

在我的资源(String.xml)中,我创建了一个名称为“Fruits”的字符串数组。

在我的 Activity1.cs 中,我还创建了一个 ArrayAdapter 来填充我的字符串数组的项目并将其分配给我的 spinner.adapter 对象。

var spinner = FindViewById<Spinner>(Resource.Id.spinner1);
var adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.Fruits, android.Resource.Layout.SimpleSpinnerDropDownItem);
spinner.Adapter = adapter;

注意: EditText 控件上的文本与微调器控件上的选定项相同但是我也允许用户手动输入。

问题:

    如果可以,如何将 ArrayAdapter 转换为 List 类型。 (我的主要目的是在 w/c 中使用 Contain 方法,如果在 List 中找到,我正在检查 EditText 输入的数据)

    还有其他方法可以从字符串数组资源中检出数据吗? (注意:我不想使用任何循环来仅检查程序中的一项(如果存在)。让 .net 为我完成剩下的工作。)

【问题讨论】:

【参考方案1】:

一种简单的方法是自己将字符串数组加载到内存中并在那里检查:

string[] fruits = Resources.GetStringArray(Resource.Array.Fruits);
var containsOrange = fruits.Contains("orange");

确保包含System.Linq 命名空间,以便获取Contains() 方法。

【讨论】:

以上是关于android mono:使用 List<T> 而不是 ArrayAdapter 来使用 Contains 方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 Reactive 并行处理 List<Mono<Object>>

何时使用 Mono<List<Object>> 以及何时使用 Flux<Object> 用于 RestController 方法

如何将 Mono<List<String>> 转换为 Flux<String>

Reactor响应式编程(Mono)

Xamarin mono for android 读取 xml 文件

合并两个 Mono 并获得一个 Flux。然后从那个 Flux 中提取一个 Mono