Java 如何使EditText的RecyclerView像单个EditText一样工作
我正在构建一个Android应用程序,语法突出显示源代码文件。以前,我对大文件有性能问题,所以我的编辑器现在是一个Java 如何使EditText的RecyclerView像单个EditText一样工作,java,android,android-recyclerview,android-edittext,Java,Android,Android Recyclerview,Android Edittext,我正在构建一个Android应用程序,语法突出显示源代码文件。以前,我对大文件有性能问题,所以我的编辑器现在是一个RecyclerView,其中每个单元格都包含一个EditText。虽然我的应用程序现在运行得很好,但不幸的是,RecyclerView的行为并不总是像EditText 特别是,当我按住EditText突出显示我手指下的单词,并尝试将滑块拖动到EditText中的行数之后,我遇到了一个僵局,无法继续前进: (很抱歉,无法缩小图像) 在上图中,我无法拖动鼠标越过高亮显示区域的末端 当
RecyclerView
,其中每个单元格都包含一个EditText
。虽然我的应用程序现在运行得很好,但不幸的是,RecyclerView
的行为并不总是像EditText
特别是,当我按住EditText
突出显示我手指下的单词,并尝试将滑块拖动到EditText
中的行数之后,我遇到了一个僵局,无法继续前进:
(很抱歉,无法缩小图像)
在上图中,我无法拖动鼠标越过高亮显示区域的末端
当我:
- 轻触某处(不突出显示),然后尝试向下拖动滑块
- 握住我的手指,然后选择“全选”。仅突出显示当前编辑文本中的内容
如何使
RecyclerView
像单个EditText
一样工作?谢谢。嗯……如果不大量使用自定义选择和触摸检测,afaici(据我所知)就无法实现这一点。在回收器视图中,每个编辑文本都是不同的编辑文本。在Android中,不同编辑文本之间没有“合并”选择。另一种选择是允许“整行”选择,然后您可以创建一行,让用户“选择并拖动”所需的行。您将失去一些功能(精确选择),但…您将获得性能(每一行都是一个包含一行文本的回收器视图行)和简单性。您可以管理弹出菜单yourself@MartinMarconcini,我认为功能性比性能/简单性更重要。我愿意采用一种涉及“大量使用自定义选择和触摸检测”的解决方案。我认为,如果不大量使用能够相互对话(或将选择委托给公共对象)并将其传递到本机EditText小部件上的自定义视图,您就无法使用recycler视图,但我相信使用谷歌API是很难/不可能的。另一种方法是使用单个编辑文本,但仅在滚动时“加载”(按需),包括在可见范围的上方和下方。这样,内存中就不会有大量的文本,只会同时看到部分文本。