我知道如何将整数值带到像
这样的字符串String s = st.getText().toString(0;
但我的问题是我们将如何处理一个字符...假设textView的值为txt1 ='A',那么我们将如何将值转换为字符串str1 ..
String str1 = txt1.getText().toString();
是正确的吗??
答案 0 :(得分:2)
TextView.getText()返回java.lang.CharSequence
,理想情况下,您应该能够应用toString()
来获取String值。但是,
来自CharSequence
java doc
此接口不会细化equals和的常规合约 hashCode方法。比较实现的两个对象的结果 因此,CharSequence通常是未定义的。每个对象可能是 由不同的类实现,并不能保证每个 class将能够测试其实例是否与这些实例相等 另一个。因此,任意使用是不合适的 CharSequence实例作为集合中的元素或映射中的键。
CharSequence是一个接口(虽然toString()显示为声明),如果CharSequence实现者正确地完成了它们的工作,它应该工作。为避免任何惊喜,您可以尝试不同的approch
final StringBuilder sb = new StringBuilder(charSequence.length());
sb.append(charSequence);
return sb.toString();
答案 1 :(得分:1)
String str1 = txt1.getText().toString();
是。从字符串中获取字符串值是正确的答案。
答案 2 :(得分:1)
如果getText()
已经返回String
,则您的工作已经完成。这是一个字符串开始。
如果您绝对必须从单个String
值创建char
,则可以使用以char[]
作为参数的构造函数来执行此操作:new String(new char[] {value})
。< / p>
如上所述,如Satheesh所述,它返回CharSequence
,还有一个String
构造函数将其作为参数。因此,最好声明new String(txt1.getText())
而不是依赖于返回的CharSequence
toString()
方法的实现。