我创建了一个Xamarin PCL应用程序。我请求REST API并将数据绑定到listview。它在Windows手机中正常工作。但是在android中遇到异常崩溃。异常消息是“未处理的异常发生!”
我的Xaml文件和Xaml.cs文件的代码如下所示。
Xaml.Cs
public class ItemClass
{
public string ItemCode { get; set; }
public string ItemDesc { get; set; }
}
public partial class HomePageSingle : ContentPage
{
private const string WebServiceUrl ="http://localhost:49452/api/Items/";
public async void GetItemsAsync()
{
//var httpClient = new HttpClient();
var httpClient = new HttpClient(new NativeMessageHandler());
var json = await httpClient.GetStringAsync(WebServiceUrl);
List<ItemClass> taskModels =JsonConvert.DeserializeObject<List<ItemClass>>(json);
lstItems1.ItemsSource = taskModels;
}
public HomePageSingle()
{
InitializeComponent();
GetItemsAsync();
}
XAML
<ListView x:Name="lstItems1">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Label Text="{Binding ItemCode}" TextColor="Black" />
<Label Text="{Binding ItemDesc}" TextColor="Black"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
=============================================== =========================
我放了一个try / catch,发现异常不会抛出我的代码而是形成Resource.Designer.cs文件。该文件中有一个函数如下:
public static void UpdateIdValues() { global :: ModernHttpClient.Resource.String.library_name = global :: MyFirstDbApp.Droid.Resource.String.library_name; global :: Xamarin.Forms.Platform.Android.Resource.Attribute.ac tionBarSize = global :: MyFirstDbApp.Droid.Resource.Attribute.actionBarSize; }
我的代码循环进入此函数几次并抛出一个Unhandled Exception。无法在那里插入try / catch。 请帮助。