我创建了一个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.actionBarSize = global :: MyFirstDbApp.Droid.Resource.Attribute.actionBarSize; }
我的代码循环进入这个函数几次并抛出一个Unhandled Exception . 无法在那里插入try / catch . 请帮助 .