在android中使用socket.io时如何在运行时获取视图?

我在前端有一个 android 应用程序,在后端有一个节点 js 套接字。


我从socket.on活动中获得了活动中的聊天列表。


此列表中的每个项目都有一个自定义视图,当收到套接字事件时,我需要使用不同的值更新此自定义视图。


我怎样才能做到这一点?


这是我的代码获取聊天列表时:


final Handler mHandler04 = new Handler(Looper.getMainLooper());

            mHandler04.post(new Runnable() {

                @Override

                public void run() {

                    SocketManager.getInstance().getSocket().on("allchatres", new Emitter.Listener() {

                        @Override

                        public void call(final Object... args) {

                            g.context.runOnUiThread(new Runnable() {

                                @Override

                                public void run() {

                                    JSONArray jsonArray = (JSONArray) args[0];

                                    Log.d(TAG, "run: " + jsonArray);

                                        try {

                                            for (int i = 0; i < jsonArray.length(); i++) {

                                                createView(jsonArray.getJSONObject(i).getString("title"), jsonArray.getJSONObject(i).getString("body"));

                                            }

                                        } catch (JSONException e) {

                                            e.printStackTrace();

                                        }

                                }

                            });

                        }

                    });

                }

            }); 


我在 logcat 中看到以下结果:


child count : 0

如何获得 LinearLayoutItemHolder 中的每个自定义视图?


我想在另一个 socket.on 事件中更改 customView 值,但我不能。


我搜索了很多,但没有发现任何有用的东西。


任何建议都会有所帮助。


浮云间
浏览 85回答 1
1回答

慕虎7371278

最后,我找到了实现目标的最佳方法:使用 RecyclerView!我在使用自定义视图时遇到了一些困难,所以我使用了回收器视图。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java