teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

詳細の追加

2018/09/18 18:32

投稿

sawaIT
sawaIT

スコア21

title CHANGED
File without changes
body CHANGED
@@ -41,10 +41,36 @@
41
41
  ```
42
42
 
43
43
  ### 発生している問題・エラーメッセージ
44
+ //listで処理したとき
44
45
  09-18 17:59:17.383 25195-25195/com.example.tatsuro.sportable E/AndroidRuntime: FATAL EXCEPTION: main
45
46
  Process: com.example.newsour.sportable, PID: 25195
46
47
  java.lang.ClassCastException: com.example.newsour.sportable.Contents cannot be cast to com.example.newsour.sportable.ContentsListData
47
48
 
49
+
50
+ //Mapで処理したとき
51
+ 09-18 18:27:27.327 26517-26517/com.example.tatsuro.sportable E/AndroidRuntime: FATAL EXCEPTION: main
52
+ Process: com.example.tatsuro.sportable, PID: 26517
53
+ com.squareup.moshi.JsonDataException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $
54
+ at com.squareup.moshi.JsonUtf8Reader.beginObject(JsonUtf8Reader.java:141)
55
+ at com.squareup.moshi.MapJsonAdapter.fromJson(MapJsonAdapter.java:65)
56
+ at com.squareup.moshi.MapJsonAdapter.fromJson(MapJsonAdapter.java:30)
57
+ at com.squareup.moshi.JsonAdapter$2.fromJson(JsonAdapter.java:128)
58
+ at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:35)
59
+ at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:39)
60
+ at com.example.newsour.sportable.ShopsFragment.createDataList(ShopsFragment.kt:94)
61
+ at com.example.newsour.sportable.ShopsFragment.access$createDataList(ShopsFragment.kt:21)
62
+ at com.example.newsour.sportable.ShopsFragment$MyAsyncTask.onPostExecute(ShopsFragment.kt:39)
63
+ at com.example.newsour.sportable.ShopsFragment$MyAsyncTask.onPostExecute(ShopsFragment.kt:32)
64
+ at android.os.AsyncTask.finish(AsyncTask.java:695)
65
+ at android.os.AsyncTask.access$600(AsyncTask.java:180)
66
+ at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
67
+ at android.os.Handler.dispatchMessage(Handler.java:106)
68
+ at android.os.Looper.loop(Looper.java:193)
69
+ at android.app.ActivityThread.main(ActivityThread.java:6669)
70
+ at java.lang.reflect.Method.invoke(Native Method)
71
+ at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
72
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
73
+
48
74
  ### 該当のソースコード
49
75
 
50
76
  ```kotlin
@@ -131,7 +157,33 @@
131
157
  it.address_memo = contentsList[5].toString()
132
158
  }
133
159
  }
160
+ val rssMapType = Types.newParameterizedType(
161
+
162
+ //Map Rssと”a”は無視してください
163
+
164
+ // Map::class.java,
165
+ // String::class.java,
166
+ // Contents::class.java
167
+ // )
168
+ // val rssMapAdapter: JsonAdapter<Map<String, Contents>> = Moshi.Builder()
169
+ // .build()
170
+ // .adapter(rssMapType)
171
+ //
172
+ // val rssMap: Map<String, Contents>? = rssMapAdapter.fromJson(jsonText)
173
+ //
174
+ // val dataList = rssMap?.map { (key, rss) ->
175
+ // ContentsListData().also {
176
+ // it.name = "a"
177
+ // it.link = "a"
178
+ // it.business_hours = "a"
179
+ // it.address = "a"
180
+ // it.address_memo = "a"
181
+ // }
182
+ // }
183
+
134
184
  return dataList
185
+
186
+
135
187
  }
136
188
 
137
189
  fun onClickRow(rowModel: ContentsListData) {