小编Res*_*ace的帖子

在RecyclerView中获取第n项的x/y位置

我想知道如何在RecyclerView中获取第n项的X或Y位置.如果项目当前在可见范围内,这很容易做到.但是,当视图当前不在屏幕上时(例如,RecyclerView上的当前可见项目范围是4到7,而我感兴趣的项目是,例如,1或10),似乎没有办法得到它值.

这是我尝试过的.我有以下三个字段:

private RecyclerView rv;

/* The Layout Manager of rv */
private LinearLayoutManager llm;

/* The data to be shown in the RecyclerView. */
private String[] data = {"0","1","2",...,"9"};
Run Code Online (Sandbox Code Playgroud)

我在屏幕上显示"2"到"5"的项目,我想获得项目"9"的X/Y位置,该项目当前不在屏幕上.所以我尝试了以下方法:

int index = 9;
View v = rv.getChildAt(index);
View v2 = llm.getChildAt(index);
Run Code Online (Sandbox Code Playgroud)

不幸的是,vv2为空.原因似乎是当大小data为10时,childCount为rvllm屏幕上当前可见的视图数量,如下所示:

int count = rv.getChildCount();
int count2 = llm.getChildCount();
Run Code Online (Sandbox Code Playgroud)

两个变量都是4(当前可见的视图数量;即"2"到"5").由于recyclerView的大小是4,并且我想在索引9处查找项目,因此我在上面返回null.

android android-recyclerview

12
推荐指数
1
解决办法
7136
查看次数

文件 I/O 与 TCP 套接字,同一机器内的数据传输哪个更快?

我有大约 10MB 的数据要从服务器程序发送到客户端程序,这两个程序都在同一硬盘驱动器中运行。

服务器端是用C++编写的,客户端是用python编写的。

我已经创建了一个架构,其中服务器将数据写入临时二进制文件,然后通过 TCP 将文件的名称发送到客户端,让客户端知道数据已写入文件并且现在可以使用检索到。然后Python客户端从这些文件中检索数据。

这比我预期的要慢。我想知道如果我只是通过 TCP 直接将数据(以二进制格式,而不是字符串)发送到客户端而不是写入/读取文件,是否会更快并使用更少的内存?

c++ sockets io tcp file

2
推荐指数
1
解决办法
1736
查看次数

标签 统计

android ×1

android-recyclerview ×1

c++ ×1

file ×1

io ×1

sockets ×1

tcp ×1