【发布时间】:2022-02-02 16:57:22
【问题描述】:
json
[
{
"_id": "5a6736a55c720e4593f74236",
"indigentApplicationDetails": {
"conditionsDetail": {
"foodDetail": {
"rating": {}
},
"clothingDetail": {
"rating": {}
},
"medicalDetail": {
"rating": {}
},
"shelterDetail": {
"rating": {}
}
},
"householdDetail": [
{
"currentApplicationRefNo": "1000048573",
"personDetail": {
"gender": "Male",
"surname": "Khabanya",
"initials": "S G",
"genderDisplay": "Male",
"personID": "125555",
"firstNames": "Siphiwo Gift",
"title": "37",
"relationship": "Other",
"titleDisplay": "Mr",
"idNo": "6706115835080",
"birthDate": "1967-06-11 00:00:00"
},
"incomeDetail": {
"amount": "0",
"budgetDetail": {
"otherIncome": "0",
"totalPersonIncome": "0",
"accountHolder": "true",
"propertyRenting": "0",
"uif": "0",
"previousWorkPension": "0",
"homeBusiness": "0.0",
"oldAgePension": "0",
"disabilityPension": "0.0"
}
},
"workSituationDetail": {
"skillCurrentDetail": {
"skillDetail": {}
},
"employmentDetail": {},
"skillDesiredDetail": {
"skillDetail": {}
},
"workDuration": "0"
},
"healthDetail": {
"mentalDefect": "false",
"disability": "false",
"poorHealthDetails": "0"
}
}
]
列表视图
<ListView
HasUnevenRows="True"
ItemsSource="{Binding ItemsSource}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label TextColor="White" Text="{Binding IndigentApplicationDetails.householdDetail.currentApplicationRefNo}"/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
代码
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
BindingContext = new IndigentDetailsViewModels();
}
protected override async void OnAppearing()
{
base.OnAppearing();
await (BindingContext as IndigentDetailsViewModels)?.LoadData();
}
}
class IndigentDetailsViewModels : INotifyPropertyChanged
{
private List<IndigentApplicationDetails> _indigentDetails;
public List<IndigentApplicationDetails> IndigentDetails
{
get { return _indigentDetails; }
set
{
_indigentDetails = value;
OnPropertyChanged(nameof(IndigentDetails));
}
}
public IndigentDetailsViewModels()
{
_indigentDetailsServices = new indigentDetailsServices();
}
readonly indigentDetailsServices _indigentDetailsServices;
public async Task LoadData()
{
IndigentDetails = await _indigentDetailsServices.GetIndigentDetailsAsync();
}
public event PropertyChangedEventHandler PropertyChanged;
// [NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
class indigentDetailsServices
{
HttpClient client = new HttpClient();
public async Task<List<IndigentApplicationDetails>> GetIndigentDetailsAsync()
{
try
{
var response = await client.GetStringAsync("https://munipoiapp.herokuapp.com/api/applications/New/KemptonMobileward1");
var IndigentDetails = JsonConvert.DeserializeObject<List<IndigentApplicationDetails>>(response);
return IndigentDetails;
}
catch (System.Exception exception)
{
return null;
}
}
}
class IndigentApplicationDetails
{
public int currentApplicationRefNo { get; set; }
}
【问题讨论】:
标签: xamarin.forms