【发布时间】:2016-12-12 22:18:10
【问题描述】:
我有一个问题,我真的很摸不着头脑。我刚开始尝试在 Visual Studio 中使用 Xamarin 制作一个 android 应用程序,并且我正在尝试将 List<int> 传递给一个带有 Intent 的新活动。这是我的MainActivity.cs 代码。
using Android.App;
using Android.Widget;
using Android.OS;
using System.Collections.Generic;
using Android.Views;
using Android.Content;
namespace adrd_count {
[Activity(Label = "adrd_count", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : ListActivity {
static readonly List<int> savedCounters = new List<int>();
protected override void OnCreate(Bundle bundle) {
base.OnCreate(bundle);
// Set our view from the "main" layout resource
// SetContentView (Resource.Layout.Main);
savedCounters.Add(3);
savedCounters.Add(2342);
savedCounters.Add(-122211);
savedCounters.Add(9);
savedCounters.Add(1941);
ListAdapter = new ArrayAdapter<int>(this, Android.Resource.Layout.SimpleListItem1, savedCounters);
}
protected override void OnListItemClick(ListView l, View v, int position, long id) {
var t = savedCounters[position];
var intent = new Intent(this, typeof(Counter));
intent.PutIntegerArrayListExtra("saved_counter", savedCounters);
StartActivity(intent);
}
}
}
现在让我难过的是这一行:
intent.PutIntegerArrayListExtra("saved_counter", savedCounters);
给我这个错误:
Argument 2: cannot convert from 'System.Collections.Generic.List<int>' to 'System.Collections.Generic.IList<Java.Lang.Integer>'
因为,据我所知,我使用 C# 进行编码......而不是 Java。据我所知,在 C# 中没有像 Integer 这样的东西,一个超越语言障碍的错误让我觉得我做错了什么。我只是读错了吗?我一直在用 Java 编程吗?我该怎么办?
【问题讨论】:
-
试试 savedCounters.ToArray()
标签: java c# android android-intent xamarin