2017-07-30 15 views
-1

私は奇妙な状況があります。このjsonレスポンスをスピナーにバインドする方法がわかりません。 私はこの方法を実装しますが、すべてのvalue.pleaseを成功させることはできません。異なるjsonをスピナーにバインドする

JSONレスポンス

{ 
    "data": [ 
     { 
      "gujarati": "Gujarati", 
      "english": "English", 
      "hindi": "Hindi", 
      "hebrew": "Hebrew", 
      "french": "French", 
      "spanish": "Spanish", 
      "arabic": "Arabic", 
      "polish": "Polish", 
      "bulgarian": "Bulgarian", 
      "dude": "Dude", 
      "all of them": "All Of Them", 
      "uk english": "Uk English" 
     } 
    ] 
} 

はキーでリストに追加します。

try { 
        root = new JSONObject(resplanguage); 
        JSONArray contacts = root.getJSONArray("data"); 
        for (int i = 0; i < contacts.length(); i++) { 

         JSONObject c = contacts.getJSONObject(i); 

         languagelist.add(new LanguageData(c.getString("gujarati"), c.getString("english"), c.getString("hindi"), 
           c.getString("hebrew"), c.getString("french"), c.getString("spanish"), c.getString("arabic"), 
           c.getString("polish"), c.getString("bulgarian"), c.getString("dude"), c.getString("all of them"), 
           c.getString("uk english"))); 

        } 

       } catch (Exception e) { 

        e.printStackTrace(); 
       } 

スピナーに結合する。

for (int k=0;k<languagelist.size();k++){ 
        englisins[k]= String.valueOf(languagelist.get(k)); 
       } 
       englishadapter= new ArrayAdapter<String>(ExploreInstructorActivity.this, 
         android.R.layout.simple_spinner_item, englisins); 
       englishadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       spEnglishSpeaking.setAdapter(englishadapter); 
+0

問題なくjsonデータを取得すると、データを取得するために使用する方法を追加できますか? –

+0

languagelistが、JSONオブジェクトjnsteadではなく、外部JSONオブジェクト内のデータ配列の最初のインデックスオブジェクトであることを確認してください。 –

+0

私はすべての文字列を追加するのに成功していない@ Brunoferreira –

答えて

0

また、配列内のJSONオブジェクトにはアクセスしていません。これを試して私に知らせてください:

try { 
         root = new JSONObject(resplanguage); 
         JSONArray contacts = root.getJSONArray("data"); 
         JSONObject obj = contacts.getJSONObject(0); 
         Iterator it = obj.keys(); 
         while(it.hasNext()) {      
          languagelist.add((String)obj.get(it.next())); 
         } 

        } catch (Exception e) { 

         e.printStackTrace(); 
        } 
+1

ありがとうございます。これは私の問題を解決します。 –

関連する問題