这种非常常见的场景我觉得大家都遇到过,那么我么可以通过Activity进行编码传值。
using System.Text; using System; using Android.App; using Android.OS; using Android.Widget; namespace XamarinDemo { [Activity(Label = "@string/translationHistory")] public class TranslationHistoryActivity : ListActivity { protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var phoneNumbers = Intent.Extras.GetStringArrayList("phone_numbers") ?? new string[0]; this.ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, phoneNumbers); } } }
然后在MainActivity.cs中进行获取,给一个按钮事件委托。
translationHistoryButton.Click += (sender, e) => { var intent = new Intent(this, typeof(TranslationHistoryActivity)); intent.PutStringArrayListExtra("phone_numbers", phoneNumbers); StartActivity(intent); };
ok,就这样。