Как обернуть массив строк в функцию 'for' - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу обернуть массив строк в функцию 'for' с использованием simpleXML, дооснащение.Как это сделать?

error:add(com.flower.model.FlowerModel in FlowerModel cannot be applied to(java.lang.String)

В основном фрагменте :

if (response.body().getFlower()!=null){
     for (String flower: response.body().getFlower()){
          FlowerAdapter.add(flower);
     }

}

FlowerAdapter.java :

public void add(FlowerModel model){
        models.add(model);
        notifyDataSetChanged();
    }

ResponseFlower.java :

@Root(name="response",strict = false)
public class ResponseFlower extends ResponseBase{

    @Path("result")
    @ElementArray(entry = "flower")

    private String[] flowerslist;

    public String[] getFlowerlist() {
        return flowerslist;
    }
}

Формат XML :

<response>
    <responseId>12345</responseId>
    <status>SUCCESS</status>
    <result>
        <flowers>
            <flower>Lily</flower>
            <flower>Rose</flower>
            <flower>Lavender</flower>
        </flowers>
    </result>
</response>

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Вы отправляете в String, чтобы добавить, где ожидаемый параметр метода равен FlowerModel

. Вам нужно будет отправить FlowerModel через FlowerAdapter add вызов метода.

if (response.body().getFlower()!=null){
     for (String flower: response.body().getFlower()){
          // I am assuming its a POJO
          FlowerModel flowerModel = new FlowerModel(); 
          // Assuming you have a method and property to the set the String flower
          flowerModel.setFlower(flower); 
          FlowerAdapter.add(flowerModel);
     }

}
0 голосов
/ 30 декабря 2018

Используйте response.body().getFlowers(), чтобы получить List.Затем вы можете зациклить его, как вы уже делаете.

...