2016-01-21 95 views
1

我如何get and showJSON's Object's value那些我有一個名爲ArraylearningFor循環遍歷JSON對象的數組內

這裏是JSON陣列的樣子:

"learning": [ 
{ 
    "code":"2K14 - 2", 
    "os":"Windows - 2" 
}, 
{ 
    "code":"2K15 - 2", 
    "os":"Linux - 2" 
}, 
{ 
    "code":"2K16 - 2", 
    "os":"Mac - 2" 
} 
] 

代碼

List<Learning> learning = value.getLearning(); 
for(Learning m : learning) { 
    // I guess, here I am missing something, which is really useful 
    String code = m.getCode(); 
    String os = m.getOs(); 
    viewHolder.learning.setText("Code: "+code+" OS: "+os); 
} 

當I execute我的程序,getting此:

Code: 2k16, OS: Mac - 2 

而我want to getthis

Code: 2k14 OS: Windows - 2, Code: 2k15 OS: Linux - 2, Code: 2k16 OS: Mac - 2 
+0

你是如何解析JSON? – Blackbelt

+0

'viewholder',我假設你在列表適配器中使用了Viewholder模式。無需循環。 GetView運行多次來呈現列表項。 它應該根據位置顯示一個項目。 調查getItem(position)'。 – TheSunny

+0

使用Retrofit @Blackbelt – Oreo

回答

2

做得一樣,如果要顯示在單一TextView的所有數據:

viewHolder.learning.append("Code: "+code+" OS: "+os + ", "); 

使用TextView.append而不是TextView.setText

+0

謝謝append()爲我工作,我勾選你的答案是有用的,並會在7分鐘內接受,我可以知道如何顯示對象之間的逗號如所示以上 – Oreo

+0

@Oreo:看我的編輯答案 –

+0

請看看這個問題:http://stackoverflow.com/questions/35355559/populate-data-into-recyclerview – Oreo

1

您可以發佈您的Retrofit界面以及與此相關的所有模型類嗎?

然後你會有這樣的東西來閱讀它。

String text = ""; 
List<Learning> learning = value.getLearning(); 
for(Learning m : learning) { 
    // I guess, here I am missing something, which is really useful 
    String code = m.getCode(); 
    String os = m.getOs(); 
    text = text + "Code: " + code + " OS: " + os + ", "; 
} 
viewHolder.learning.setText(text); 
+2

非常感謝你,我勾選你的答案是有用的,但@ρяσѕρєяK回答第一,因此我會接受他的解決方案:) – Oreo

+0

請看看這個問題:http://stackoverflow.com/questions/35355559/populate-data-into-recyclerview – Oreo

0
JSONArray jsonArray = jsonObj.getJSONArray("learning"); 

for(int i = 0; i < jsonArray.length(); i++) 
{ 
    JSONObject obj = jsonArray.getJSONObject(i); 
    String code = obj.getString("code"); 
    String os = obj.getString("os"); 

    Log.i("MyClass", "Code -> " + code); 
    Log.i("MyClass", OS -> " + os); 

}