Xamarin PCL项目崩溃与Android的例外,但适用于Windows手机

时间:2017-03-30 06:01:36

标签: listview xamarin.forms

我创建了一个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。 请帮助。

0 个答案:

没有答案