gpt4 book ai didi

java - MultiList 不显示来自 Web 服务的所有结果(代号一)

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

我正在尝试使用 MultiList 显示一些 json 记录。我按照这里所做的https://www.codenameone.com/manual/graphics.html进行操作但我的只返回一条记录(请参阅此 image )。响应来自此webservice

下面是我的代码。请告诉我哪里错了。

@Override
protected void beforeFormA(Form f) {
Style s = UIManager.getInstance().getComponentStyle("Button");
FontImage p = FontImage.createMaterial(FontImage.MATERIAL_PORTRAIT, s);
EncodedImage placeholder = EncodedImage.createFromImage(p.scaled(p.getWidth() * 3, p.getHeight() * 4), false);
getattractive();//fetch results from webservice and store inside response variable
ArrayList arr = (ArrayList) response.get("results");
for (Object m:arr){
Map ma = (Map)m;
address =(String) ma.get("formatted_address");
name=(String)ma.get("name");
icon=(String)ma.get("icon");
ArrayList<Map<String, Object>> data = new ArrayList<>();
data.add(createListEntry(name,address,icon));
DefaultListModel<Map<String, Object>> model = new DefaultListModel<>(data);
MultiList ml = new MultiList(model);
ml.getUnselectedButton().setIconName("icon_URLImage");
ml.getSelectedButton().setIconName("icon_URLImage");
ml.getUnselectedButton().setIcon(placeholder);
ml.getSelectedButton().setIcon(placeholder);
f.add(BorderLayout.CENTER, ml);
}
}


private Map<String, Object> createListEntry(String name, String addr, String coverURL) {
Map<String, Object> entry = new HashMap<>();
entry.put("Line1", name);
entry.put("Line2", addr);
entry.put("icon_URLImage", coverURL);
entry.put("icon_URLImageName", name);
return entry;

最佳答案

您应该修复缩进。 for 循环封装了所有内容,因此您可以循环遍历所有元素,并且对于 X 个元素,您可以添加 X 个多重列表。

如果您使用调试器单步执行代码,您会立即看到这一点...

关于java - MultiList 不显示来自 Web 服务的所有结果(代号一),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44837827/

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