Xamarin Forms string [] array绑定到listview加载字段但显示空TextCells

y4ekin9u  于 2023-06-27  发布在  其他
关注(0)|答案(1)|浏览(107)

我使用xamarin(注:下个月我将迁移MAUI)问题是当我从post请求中得到一个json响应,其中包含许多字段,如字符串字段和字符串[]数组,所有字符串字段都显示OK,但在listview中显示加载字段“空”,换句话说,字符串[]数组绑定到listview加载字段,但显示空TextCells如果数组有3个字符串,显示3个空字段,请参阅代码:XAML:

<ListView ItemsSource="{Binding Specialities, Mode=TwoWay}" Grid.Row="8" Grid.Column="1"
                          HorizontalOptions="FillAndExpand"
                          VerticalOptions="FillAndExpand">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <TextCell DetailColor="Black"
                                      TextColor="Black"
                                      Text="{Binding .}" />
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

查看型号:

private string[] _specialities;
    public string[] Specialities
 {
        get => _specialities;
        set => SetProperty(ref _specialities, value);
    }

继续

string resultadoRespuesta = await 
            response.Content.ReadAsStringAsync();
                    var problemDetails = 
            JsonConvert.DeserializeObject<AbogadosAtlasApi> 
             (resultadoRespuesta);
                    Nombres = problemDetails.FirtsNameOriginal;
                    Apellidos = 
                     problemDetails.LastNameOriginal;
                    Celular = problemDetails.Celular;
                    Correo = problemDetails.Correo;
                    Cedula = problemDetails.Cedula;
                    Especialidad = problemDetails.speciality;
                    Ciudad = problemDetails.Ciudadperfil;
                    Plan = problemDetails.Plan;
                    Specialities = problemDetails.Specialities;

我的
我在玩这个代码:foreach(string item in Specialities){for(int ctr = 0;<item. length; int(int)= item;}结果为Especialidadcon show OK,并具有正确的值
我从端点获得的JSON响应的一部分:

"firstName": "Juan Sebastián ",
  "lastName": "Mario mena ",
"email": "jdsa@lsddsdex.ec",
"phone": "099434346840",
"city": "59cda262fe728437ce90ff81",
"isDelete": false,

注意:jsonproperty可以从模型AbogadosAtlasApi绑定

[JsonProperty("specialities")]
           public string[] Specialities { get; set; }
"specialities": [
    "5990d6ff3da48f4bd98c6914",
    "5990d7273da48f4bd98c6918",
    "5990d75a3da48f4bd98c691d",
    "5a0a6087257e970afc9a9e73",
    "5a0a60ac257e970afc9a9e76",
    "5a13ecaf64de49704797d727"
      ],
     "role": "5a0a60a3257e970afc9a9e75",

解决方案:用于列表视图

<ListView ItemsSource="{Binding Specialitiess, Mode=TwoWay}"
                          >
                    <ListView.ItemTemplate>
                        <DataTemplate  x:DataType="sys:String">
                            <ViewCell>
                                    <Label Text="{Binding .}"
                                               HorizontalOptions="EndAndExpand"
                                               TextColor="#503026" />
                                   
                            </ViewCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
o4hqfura

o4hqfura1#

<ListView ItemsSource="{Binding Specialitiess, Mode=TwoWay}"
                      >
                <ListView.ItemTemplate>
                    <DataTemplate  x:DataType="sys:String">
                        <ViewCell>
                                <Label Text="{Binding .}"
                                           HorizontalOptions="EndAndExpand"
                                           TextColor="#503026" />
                               
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

相关问题