简体   繁体   English

如何在自定义数组列表中添加静态字段?

[英]How to add static field in customize arraylist?

Hi i am using json parsing in my project.嗨,我在我的项目中使用 json 解析。 I have following Response and i am setting it to spinner.我有以下响应,我将其设置为微调器。

{"success":1,"languages":[{"id":"2","name":"telugu"},{"id":"3","name":"English"},{"id":"4","name":"Tamil"}]}

now issue is that I want to add one id and name static.现在的问题是我想添加一个 id 并命名为 static。 id : 1, name : All id : 1, name : 全部

Can any one help me how to add this?任何人都可以帮助我如何添加这个?

 try {
     JSONArray jsonArray = response.getJSONArray("languages");
     for (int i = 0; i < jsonArray.length(); i++) {
         try {

             JSONObject obj = jsonArray.getJSONObject(i);
             LanguageModel catobj = new LanguageModel();

             catobj.setLangid(obj.getString("id"));
             catobj.setLangname(obj.getString("name"));

             LanguageModel alldata = new LanguageModel();
             alldata.setLangid(("1"));
             alldata.setLangname(("All"));
             langList.add(0, alldata);
             langList.add(catobj);

         } catch (JSONException e) {
             e.printStackTrace();
         }

     }

 } catch (JSONException e) {
     e.printStackTrace();
 }

take this line out of for loop将此行从 for 循环中取出

LanguageModel alldata = new LanguageModel();
 alldata.setLangid(("1"));
 alldata.setLangname(("All"));
 langList.add(0,alldata);

Problem here is that you are adding id : 1, name : All inside for loop which would cause it to be added many times.这里的问题是您正在添加id : 1, name : All在 for 循环中,这会导致它被多次添加。 This should be added only once.这应该只添加一次。

Remove following four lines from for loopfor循环中删除以下四行

LanguageModel alldata = new LanguageModel();
alldata.setLangid(("1"));
alldata.setLangname(("All"));
langList.add(0,alldata);

and put just above for statement.并放在上面for语句。

You are getting data from loop and fill and arraylist .您正在从 loop 和 fill 以及arraylist获取数据。 Just remove this line.只需删除此行。

LanguageModel alldata = new LanguageModel();
alldata.setLangid(("1"));
alldata.setLangname(("All"));
langList.add(0,alldata);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM