问题标签 [android-editable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android Editable 是抽象的;无法实例化
我正在创建一个EditText
子类,我想制作一个可编辑的变量以传递给超类。
当我最初尝试
我得到了错误
“可编辑”是抽象的;无法实例化
在 Google 中搜索这个错误并没有返回任何有用的结果,所以现在我找到了答案,我在下面添加了这个问题的答案。
android - Android StringBuilder vs 可编辑
在试图理解这个答案StringBuilder
时,我无法理解和之间的区别Editable
。该图像(减去手绘的红色圆圈)来自该答案。
它们都具有append
、delete
、insert
和replace
text 的方法。我看到这StringBuilder
是一个实际的类,而Editable
它是一个接口。但是我可以从with得到一个Editable
返回,如果它是一个接口,这似乎很奇怪。幕后的具体实现是什么?我还看到它可以有跨度,而 a没有。TextView
textView.getEditableText()
Editable
StringBuilder
我想我已经接近理解差异了,但我可以使用更多的解释。我很惊讶我找不到已经问过这个问题的地方,所以我现在问它。
再次,特别是:
StringBuilder
和 和有什么不一样Editable
?- 我什么时候应该使用一个而不是另一个?
android - 如何验证 EditText。应用程序在提交时崩溃,EditText 中没有任何值
我正在尝试验证 EditText 以进行强制检查。所以我用 hasText() 函数创建了 Validation.java。即使在使用这个之后,当在 EditText 中没有传递任何值而不是显示警告时,我的应用程序也会崩溃。在下面附上我的代码。
Homescreen.class
验证.java
调试日志:
java - EditText:使用自定义 Editable 调用 setText() 时光标不会更新
我在尝试使用Editable
作为EditText
. 这是我的代码:
出于某种原因,当我注释掉 时NoCopyEditableFactory
,光标更新得很好。但是,当我取消注释强制EditText
不复制ColoredText
到新SpannableStringBuilder
的行时,当我单击文本中的新位置时,光标不会更新。为什么是这样?
android - 如果在 EditText 中的跨区文本之前添加了一些文本,如何自动更改跨区位置?
正在创建一个应用程序,其中 edittext 将样式范围添加到文本的某些位置
我的问题是,如果用户添加,将删除跨越文本样式之前的一些文本或空白,如何避免这种情况?
在我的情况下我需要使用哪种类型?
android - 为什么我们不应该改变 TextView#getText() 返回值的内容?
Android Docs中关于TextView.getText()
说:
注意:返回值的内容不要修改。如果你想要一个可修改的,你应该先制作自己的副本。
也TextView
有setText (CharSequence text, TextView.BufferType type)
方法,您可以传递TextView.BufferType.EDITABLE
给它以将getText()
方法的结果转换为Editable
. 正如文档所说,Editable
接口的目的是:
这是可以更改内容和标记的文本界面[...]
我的问题是:如果我们可以传递Editable
给TextView
并得到它,为什么我们不应该修改它?
android - Editable 对象与 EditText 文本属性之间的关系
我创建的应用程序仅显示用户在EditText
.
这是它的onCreate
方法MainActivity
:
问题是这样的:
当我运行该应用程序时,一切正常:
- 我输入例如“foo”并单击“显示”按钮,它显示“foo”,
- 当我点击“重置”时,一切都被重置了,
- 重新键入“bar”,然后显示“bar”。好的!
但是,当我只是换行
对此
然后在启动应用程序后发生这种情况:
- 我输入例如“foo”并单击“显示”按钮,它显示“foo”,
- 当我点击“重置”时,一切似乎都被重置了,
- 重新键入“bar”,然后单击“show”后“foo”仍然存在
为什么?
谢谢
android - 在 EditText 上调用 setText() 时会发生什么?
这是代码的一部分:
为什么 editable.toString() 的值没有改变?谢谢