Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的RecyclerView适配器未通过截取请求响应更新?_Android_Android Recyclerview_Observable_Android Volley - Fatal编程技术网

Android 我的RecyclerView适配器未通过截取请求响应更新?

Android 我的RecyclerView适配器未通过截取请求响应更新?,android,android-recyclerview,observable,android-volley,Android,Android Recyclerview,Observable,Android Volley,启动应用程序时,应显示聊天机器人发出的初始消息,但不显示。它从一个成功的截击请求开始,数据就在那里 然后在响应处理程序中调用: @Override public void onResponse(JSONArray response) { try { for (int i = 0; i < response.length(); i++) {

启动应用程序时,应显示聊天机器人发出的初始消息,但不显示。它从一个成功的截击请求开始,数据就在那里

然后在响应处理程序中调用:

            @Override
            public void onResponse(JSONArray response) {
                try {
                    for (int i = 0; i < response.length(); i++) {
                        String[] text = ((JSONObject) response.get(i)).getString("text").split("'");
                        chat.addChat(new ChatBubbleModel(ChatBubbleModel.UserType.BOT, text[1]));
                    }

                } catch (Exception e) {

                }
            }
但是shomehow所有来自Bot(聊天泡泡渲染)的请求只有在I f.e expand Keyboard(扩展键盘)的情况下才会更改,因此我认为会触发RecyclerView重新渲染,因为大小更改

这是我的RecyclerView.Adapter中的方法:

public void addBubble(ChatBubbleModel bubble) {
        this.bubbles.add(bubble);
        notifyItemChanged(bubbles.size() - 1);
    }
但是如果在截击网络响应后调用它们,


public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType)
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder,int position)
方法不被调用。仅在键盘后使用。

请使用
notifyItemInserted(bubbles.size()-1)
而不是
notifyItemChanged(bubbles.size()-1)

您的
addBubble
方法如下:

public void addBubble(ChatBubbleModel bubble) {
        this.bubbles.add(bubble);
        notifyItemInserted(bubbles.size() - 1);
    }

我将在一分钟内尝试该修复,希望它是实际问题的修复
public void addBubble(ChatBubbleModel bubble) {
        this.bubbles.add(bubble);
        notifyItemInserted(bubbles.size() - 1);
    }