Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Java 如何使EditText的RecyclerView像单个EditText一样工作_Java_Android_Android Recyclerview_Android Edittext - Fatal编程技术网

Java 如何使EditText的RecyclerView像单个EditText一样工作

Java 如何使EditText的RecyclerView像单个EditText一样工作,java,android,android-recyclerview,android-edittext,Java,Android,Android Recyclerview,Android Edittext,我正在构建一个Android应用程序,语法突出显示源代码文件。以前,我对大文件有性能问题,所以我的编辑器现在是一个RecyclerView,其中每个单元格都包含一个EditText。虽然我的应用程序现在运行得很好,但不幸的是,RecyclerView的行为并不总是像EditText 特别是,当我按住EditText突出显示我手指下的单词,并尝试将滑块拖动到EditText中的行数之后,我遇到了一个僵局,无法继续前进: (很抱歉,无法缩小图像) 在上图中,我无法拖动鼠标越过高亮显示区域的末端 当

我正在构建一个Android应用程序,语法突出显示源代码文件。以前,我对大文件有性能问题,所以我的编辑器现在是一个
RecyclerView
,其中每个单元格都包含一个
EditText
。虽然我的应用程序现在运行得很好,但不幸的是,
RecyclerView
的行为并不总是像
EditText

特别是,当我按住
EditText
突出显示我手指下的单词,并尝试将滑块拖动到
EditText
中的行数之后,我遇到了一个僵局,无法继续前进:

(很抱歉,无法缩小图像)

在上图中,我无法拖动鼠标越过高亮显示区域的末端

当我:

  • 轻触某处(不突出显示),然后尝试向下拖动滑块
  • 握住我的手指,然后选择“全选”。仅突出显示当前编辑文本中的内容

如何使
RecyclerView
像单个
EditText
一样工作?谢谢。

嗯……如果不大量使用自定义选择和触摸检测,afaici(据我所知)就无法实现这一点。在回收器视图中,每个编辑文本都是不同的编辑文本。在Android中,不同编辑文本之间没有“合并”选择。另一种选择是允许“整行”选择,然后您可以创建一行,让用户“选择并拖动”所需的行。您将失去一些功能(精确选择),但…您将获得性能(每一行都是一个包含一行文本的回收器视图行)和简单性。您可以管理弹出菜单yourself@MartinMarconcini,我认为功能性比性能/简单性更重要。我愿意采用一种涉及“大量使用自定义选择和触摸检测”的解决方案。我认为,如果不大量使用能够相互对话(或将选择委托给公共对象)并将其传递到本机EditText小部件上的自定义视图,您就无法使用recycler视图,但我相信使用谷歌API是很难/不可能的。另一种方法是使用单个编辑文本,但仅在滚动时“加载”(按需),包括在可见范围的上方和下方。这样,内存中就不会有大量的文本,只会同时看到部分文本。