通过括号转换为String会导致Android崩溃

Axe*_*elA 1 java string android casting textview

我知道如何从带有toString()的TextView中获取String,但我想了解为什么如果我通过括号将TextView的文本转换为String,它会导致Android在运行时崩溃?

例如"String text = (String)((TextView)findViewById(R.id.myTextViewId)).getText();"

Szy*_*mon 5

这是因为您无法直接转换的getText()返回CharSequence(您可以转换为SpannableEditable在某些情况下)string.

使用toString()可以转换为string类.

来自android开发者文档:

public CharSequence getText()

返回TextView正在显示的文本.如果使用BufferType.SPANNABLE或BufferType.EDITABLE参数调用setText(),则可以将此方法的返回值分别转换为Spannable或Editable.注意:不应修改返回值的内容.如果你想要一个可修改的,你应该先制作自己的副本.

资料来源:http://developer.android.com/reference/android/widget/TextView.html