2017-03-02 10 views
-4

json配列をRecyclerviewに配置しようとしています。私が1つの引数(store_textposition)でそれをしたとき、すべて正常に動作しますが、別の引数(store_name)を追加すると、"Wrong 1st argument type. Found 'String' , required Integer"が得られます。間違った第1偽装タイプ。 'String'が見つかりました。Integer

これは私のJSON配列である:

{"action":"true","error":"","data":[{"_id":"58ad8d8ca49d0e11e21c4504","store_name":"firstStore","store_view":0,"store_textposition":null}]} 

と、私はエラーを取得しています場所があります:

private boolean parse() 
{ 
    try 
    { 
     JSONObject obj = new JSONObject(jsonData); 
     JSONArray ja = obj.getJSONArray("data"); 
     JSONObject jo; 
     shops.clear(); 
     for(int i=0;i<ja.length();i++) 
     { 
      jo=ja.getJSONObject(i); 
      String store_name = jo.getString("store_name"); 
      String store_textposition = jo.getString("store_textposition"); 
      shops.add(store_textposition,store_name); 
     } 
     return true; 
    } 
    catch (JSONException e) 
    { 
     e.printStackTrace(); 
     return false; 
    } 
} 
+1

私はそれを取得しません。ここで不明な点は何ですか?エラーは明示的に最初の引数は整数である必要がありますが、あなたのものはStringです。 – Tom

+0

'stores'オブジェクトはどのような型ですか? – Ircover

+1

私は 'stores'が' List 'であると仮定します。また、リストに2つの文字列を追加しようとしていると仮定します。適切な方法は、各文字列ごとにadd()を2回呼び出すことです。コンパイラは、指定したインデックスにStringアイテムを追加するadd(index、item)メソッドを使用しようとしていると考えています。 –

答えて

0

@AlinPandichiはコメントで述べたように、あなたがオブジェクトを追加するとき、あなたの問題があります買い物リスト

あなたは正確に何をしたいのか分かりません。しかし、store_textpositionがintの場合は、より良い使用をお勧めします。

int store_textposition = jo.optInt( "store_textposition");

この方法では、サーバーがyo nullを渡しても、アプリケーションのクラッシュを防ぐデフォルト値は0です。

私はあなたの問題を解決すると思います。

関連する問題