gpt4 book ai didi

Android:为什么 EditText 使滚动变慢?

转载 作者:搜寻专家 更新时间:2023-11-01 08:00:42 24 4
gpt4 key购买 nike

我创建了一个可滚动的自定义 ViewGroup,其中包含多个 >200 个 EditText(并非所有这些都同时显示 - 我正在使用回收器)。我遇到的问题是滚动速度非常慢。

有趣的是,如果我执行以下操作之一,我就没有问题
1) 禁用 editText [editText.setEnabled(false)]

2) 如果我将 View 从 EditText 更改为 TextView

关于问题可能是什么的任何想法?

最佳答案

EditText 是 huge .特别看看它继承的所有那些方法。

您为什么不尝试仅使用一个 EditText 和 199 个自定义 TextView 或在 Canvas 中绘制的大矩形网格?您始终可以自定义您的 TextView(或您绘制的矩形网格),使它们看起来像编辑框,但只对本身具有焦点的单元格使用一个 EditText。

这甚至就是 Excel 某些 功能的工作方式。它可以直接编辑单元格(是的),但它在 Excel 电子表格的左上角也有一个静态单元格,用于向您显示公式的内容(可能已经呈现为焦点单元格本身内的 View )。你可以自己做类似的事情。您可以扩展 EditText 来完成所有困难的事情,例如自动完成等,但您可以只在具有焦点的矩形内绘制文本(或将其插入具有焦点的特定 TextView 内)。

看看这个例子: https://github.com/dennis-sheil/android-spreadsheet

他似乎主要使用 TextViews(虽然 TextViews 也很重,我开始认为 Canvas 可能更适合这样的东西,并且一切都可以用绘图方法模拟,我的意思是闪烁的光标、单元格的突出显示、按字符键入的字符等)。至少使用 Canvas,您可以轻松地告诉它哪些部分需要绘制,哪些部分不在屏幕上并且不需要绘制,因此您不太可能遇到内存问题。

关于Android:为什么 EditText 使滚动变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21695328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com