如何使用C#在Xamarin.android中的多列列表视图中显示Json字符串数据?

时间:2016-03-01 05:58:28

标签: c# asp.net-web-api xamarin xamarin.android visual-studio-2015

我正在尝试使用Xamarin创建一个Android应用程序。由于我是Xamarin的新手,我遇到了一个问题,即如何将JSON字符串数据显示到ListView或网格中。

我正在使用WebApi从数据库中获取数据。 Webapi返回字符串 -

[{"QuestionId":2,"Question1":"4,8,12 Which Digit is Greatest?","Answer":"12"}]

我在Android应用程序中使用的方法是 -

 private string QuestionList()
        {

            var url = HttpWebRequest.Create(string.Format(@"url"));
            url.ContentType = "application/json";
            url.Method = "GET";
            string tempdata = string.Empty;
            using (HttpWebResponse response = url.GetResponse() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK)
                    Console.Out.WriteLine("error", response.StatusCode);
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    var content = reader.ReadToEnd();


                    if (string.IsNullOrWhiteSpace(content))
                    {

                        Console.Out.WriteLine("response");
                    }
                    else {
                        Console.Out.WriteLine("response", content);
                        tempdata = content;
                    }
                }
            }
            return tempdata;
        }

它在我的Android设备上返回Json字符串。现在,我希望在列表中或具有多列的网格中显示此数据。

1 个答案:

答案 0 :(得分:0)

首先,您必须使用Newtonsoft nuget包来转换此JSON字符串。

http://www.newtonsoft.com/json

您可以使用网站json2csharp。只需在输入中提供json字符串并单击generate,它将为您创建相应的类。

之后,您可以在android中使用关于列表视图的xamarin文档。 https://developer.xamarin.com/guides/android/user_interface/working_with_listviews_and_adapters/part_2_-_populating_a_listview_with_data/

这个tutoriel将为您提供一些代码示例来创建列表视图。

如果您想要自定义&#34>,则必须创建自定义适配器。您的列表视图,但很容易遵循相关的教程。

要完成,我给你最后一个链接: https://www.youtube.com/watch?v=zZHLHrkvUt0

这是一个youtube频道的链接,非常好的关于android与xamarin的教程。当我开始使用这个技术时,我会关注很多这样的视频。

如果您需要更多帮助,请不要犹豫,发布更高级的代码。

希望这可以帮到你。