Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多列表未显示来自webservice的所有结果(代码名1)_Java_Codenameone - Fatal编程技术网

Java 多列表未显示来自webservice的所有结果(代码名1)

Java 多列表未显示来自webservice的所有结果(代码名1),java,codenameone,Java,Codenameone,我正在尝试使用多列表显示一些json记录。我遵循了这里所做的,但我的只返回了一条记录(请看这个)。对此作出了回应 下面是我的代码。请告诉我哪里错了 @Override protected void beforeFormA(Form f) { Style s = UIManager.getInstance().getComponentStyle("Button"); FontImage p = FontImage.createMateri

我正在尝试使用多列表显示一些json记录。我遵循了这里所做的,但我的只返回了一条记录(请看这个)。对此作出了回应

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

@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;
@覆盖
格式前受保护的空白(表格f){
样式s=UIManager.getInstance().getComponentStyle(“按钮”);
FontImage p=FontImage.createMaterial(FontImage.MATERIAL_肖像,s);
EncodedImage占位符=EncodedImage.createFromImage(p.scaled(p.getWidth()*3,p.getHeight()*4),false);
getattractive();//从webservice获取结果并存储在响应变量中
ArrayList arr=(ArrayList)response.get(“结果”);
对于(对象m:arr){
Map ma=(Map)m;
地址=(字符串)ma.get(“格式化的_地址”);
name=(字符串)ma.get(“name”);
icon=(字符串)ma.get(“icon”);
ArrayList数据=新的ArrayList();
添加(createListEntry(名称、地址、图标));
DefaultListModel=新的DefaultListModel(数据);
MultiList ml=新的MultiList(型号);
ml.getUnselectedButton().setIconName(“icon_URLImage”);
ml.getSelectedButton().setIconName(“图标图片”);
ml.getUnselectedButton().setIcon(占位符);
ml.getSelectedButton().setIcon(占位符);
f、 添加(BorderLayout.CENTER,ml);
}                    
}    
私有映射createListEntry(字符串名称、字符串地址、字符串覆盖URL){
Map entry=newhashmap();
输入。输入(“第1行”,名称);
输入。输入(“第2行”,地址);
输入.put(“图标\ URL图像”,封面URL);
输入。输入(“图标名称”,名称);
返回条目;

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


如果您使用调试器跳过代码,您会立即看到这一点…

完成。我将下面的行移出方法,并将其放在类中

ArrayList>data=新建ArrayList()