Android 对象有时在改型/RXJava中为空

Android 对象有时在改型/RXJava中为空,android,kotlin,serialization,retrofit,rx-java,Android,Kotlin,Serialization,Retrofit,Rx Java,我正在使用改型和RXJava来实现我的restful API。我可能有40个不同的端点实现而没有问题,但我有一个单一端点的问题。数据将来自API(我可以在Profiler中看到),有时当我将数据交给我的RecyclerView适配器时,它将正确地呈现并序列化。其他时候,每个值都是空的,尽管探查器中有相同的响应。我将在下面分享一些代码片段。这是一个非常非常奇怪的问题,我似乎无法理解 从API获取数据(在继承的baseactivity的OnCreate中初始化复合一次性)。此调用可以发生多次,具体取

我正在使用改型和RXJava来实现我的restful API。我可能有40个不同的端点实现而没有问题,但我有一个单一端点的问题。数据将来自API(我可以在Profiler中看到),有时当我将数据交给我的RecyclerView适配器时,它将正确地呈现并序列化。其他时候,每个值都是空的,尽管探查器中有相同的响应。我将在下面分享一些代码片段。这是一个非常非常奇怪的问题,我似乎无法理解

从API获取数据(在继承的baseactivity的OnCreate中初始化复合一次性)。此调用可以发生多次,具体取决于用户交互。让我知道这是否会导致我的问题

compositeDisposable.add(userManager!!.getFriendsForUser(1, false).subscribe(
            { data ->
                for (item in data){
                    //these are sometimes null, but not always!
                    Log.e("INFO","ITERATING THRU DATA " + item.user_id)
                    Log.e("INFO","ITERATING THRU DATA " + item.jsonString())
                }
            },{ e ->
                //no error printing, 200 code from API.
                e.printStackTrace()
            }))
用户管理器!!。getFriendsForUser()

在“/friends?p=1&filter\u chat=0”的探查器(有时序列化)中找到响应正文

[
   {
      "user_id":1,
      "avatar_url":"https://www.google.com",
      "name":"Jay",
      "display_name":"Jay_N",
      "anonymous_flag":0,
      "chat_enabled_flag":1
   }
]

希望撞上这个。这肯定是一个奇怪的错误!
@GET()
Single<List<UserShortProfile>> getFriendsForUser(
        @Url String url);
class UserShortProfile {
    @JsonProperty("user_id")
    var user_id: Int? = null

    @JsonProperty("name")
    var name: String? = null

    @JsonProperty("avatar_url")
    var avatar_url: String? = null

    @JsonProperty("display_name")
    var display_name: String? = null

    @JsonProperty("anonymous_flag")
    var anonymous_flag: Int? = null

    @JsonProperty("chat_enabled_flag")
    var chat_enabled_flag: Int? = null

    fun jsonString(): String {
        val json = Gson().toJson(this)
        return json.toString()
    }

    fun jsonBody(): RequestBody? {
        val json = Gson().toJson(this)
        return RequestBody.create(MediaType.parse("application/json; charset=utf-8"), json)
    }

}
[
   {
      "user_id":1,
      "avatar_url":"https://www.google.com",
      "name":"Jay",
      "display_name":"Jay_N",
      "anonymous_flag":0,
      "chat_enabled_flag":1
   }
]