gpt4 book ai didi

android - 在适配器中用两个数组填充数组列表?

转载 作者:行者123 更新时间:2023-11-30 03:53:25 26 4
gpt4 key购买 nike

我的问题是,当我在一个列表中设置这两个数组时,我无法获得这两个数组的正确值。

下面是我从服务器获得的 json 响应。User_Label_List 并不总是得到,但 Admin_Label_List 数组很常见。

{
"User_Label_List": [
{
"iLabelID": "60",
"vLabel": "At Ground"
}
],
"Admin_Label_List": [
{
"iLabelID": "53",
"vLabel": "At School"
},
{
"iLabelID": "51",
"vLabel": "At Office"
},
{
"iLabelID": "52",
"vLabel": "At Work"
},
{
"iLabelID": "50",
"vLabel": "At None"
},
{
"iLabelID": "49",
"vLabel": "At Home"
}
]
}

这是我的代码。

try {
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray("Admin_Label_List");
labelarray = new ArrayList<LabelModel>();
for (int i = 0; i < jsonArray.length(); i++) {
labelModel = new LabelModel();
JSONObject labeljson = jsonArray.getJSONObject(i);
// lableList.put("iLabelID", labeljson.getString("iLabelID"));
// lableList.put("vLabel", labeljson.getString("vLabel"));
labelModel.setLabelId(labeljson.getString("iLabelID"));
labelModel.setLabelName(labeljson.getString("vLabel"));
labelarray.add(labelModel);
}

Log.e("length", "== "+jsonObject.length());
if (jsonObject.length() == 2) {

String arryName = jsonObject.names().getString(1);
if (arryName.equalsIgnoreCase("User_Label_List")) {
JSONArray userjsonArray = jsonObject.getJSONArray("User_Label_List");
userlabelarray = new ArrayList<LabelModel>();
for (int i = 0; i < userjsonArray.length(); i++) {
// userLabelModel = new UserLabelModel();
JSONObject labeljson = userjsonArray.getJSONObject(i);
// lableList.put("iLabelID", labeljson.getString("iLabelID"));
// lableList.put("vLabel", labeljson.getString("vLabel"));
labelModel.setLabelId(labeljson.getString("iLabelID"));
labelModel.setLabelName(labeljson.getString("vLabel"));
userlabelarray.add(labelModel);
}

// userlabelarray.addAll(labelarray);
}
List<LabelModel> union = new ArrayList<LabelModel>(labelarray);
union.addAll(userlabelarray);
customeLabelAdpater = new CustomeLabelAdpater(ChooselabelActivity.this, lableList);
listView.setAdapter(customeLabelAdpater);
}

那么有人可以建议我如何实现这一目标吗?

最佳答案

您没有在第二次初始化您的LabelModel,而您正在填充您的第二个数组数据,请您重新初始化您的LabelModel

不要担心您已经填充的先前数据,因此在填充下一个数组数据时您必须重新初始化您的 LabelModel,希望它能正常工作。

关于android - 在适配器中用两个数组填充数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com