所以,我一直在研究getText()方法,并且我已经了解到它返回了一个CharSequence.所以你不能这样做:
TextView myTextView = (TextView) findViewById(R.id.my_text_view); String myString = myTextView.getText();
相反,必须通过执行以下操作将返回的CharSequence转换为String:
TextView myTextView = (TextView) findViewById(R.id.my_text_view); String myString = myTextView.getText().toString();
我的问题出现了:你不能这样做吗?:
TextView myTextView = (TextView) findViewById(R.id.my_text_view); String myString = (String) myTextView.getText();
我已经在我的代码中尝试了这个并且它工作得非常好,但是每个人似乎都在使用第一种方式.所以有一个问题我没有看到我的方式吗?或者它只是一种不同的方式,如果是这样,两种方式的好处是什么?
感谢您提前的答案:)
那么我有没有看到我这样做的问题?
ClassCastException
如果CharSequence
返回的不是a ,它将崩溃String
.例如,如果您使用Html.fromHtml()
或其他方式创建SpannedString
,并在其中使用TextView
,getText()
将不会返回String
.