如何从数组中将列表中的内容转换为字符串,以从先前的活动中获取内容

时间:2019-04-16 10:14:24

标签: c# android xamarin android-5.0-lollipop

单击后,我尝试转换列表上的特定项目,将其转换为字符串,然后将该信息发送回MainActivity。无法将信息转换为字符串。

 namespace GPS2
{
[Activity(Label = "@string/GPSHistory")]
public class GPSHistory : ListActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        // Create your application here
        // Draw controls
        // SetContentView(Resource.Layout.GPSHistoryLayout);



        var strGPSAnswer = Intent.Extras.GetStringArrayList("Answer") ?? new string[0];
        ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, strGPSAnswer);

        ListView.TextFilterEnabled = true;

        ListView.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs args)
        {

            //Confirmation that it works.
            Toast.MakeText(Application, ((TextView)args.View).Text, ToastLength.Short).Show();

            //Prepare string and send back to first page.
            var i = new Intent(this, typeof(MainActivity));
            i.PutExtra("string", strGPSAnswer);
            StartActivity(i);

        };
    }
}
}

1 个答案:

答案 0 :(得分:0)

根据Android Intent文档intent extras

  

putStringArrayListExtra

名称应类似于:

  

将扩展数据添加到意图中。名称必须包含一个包裹   前缀,例如应用com.android.contacts将使用类似   “ com.android.contacts.ShowAll”

在您的代码中,看起来“答案” 是不包含软件包前缀的键。

我本可以在评论中添加此内容,但要点不够。