2017-01-24 9 views
6

私はgetText()メソッドを見てきたので、CharSequenceを返すことを学びました。 だから、これだけで行うことはできません。getText()。toString()vs(String)getText()

TextView myTextView = (TextView) findViewById(R.id.my_text_view); 
String myString = myTextView.getText(); 

、代わりに、これを行うことにより、文字列に返されたCharSequenceを変換する必要があります。ここでは

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(); 

?:これを行う..私は私のコードでこれを試してみたし、それは完全に罰金働いたが、誰もが最初の方法を使用しているように見えるので、私は私の道を見ていないよ問題がありますのしている?それを行うのとはちょうど異なる方法ですか、そうなら両方の方法の利点は何ですか?事前にあなたの答えのための

感謝:)

答えて

10

だから私はそれを行うための私の方法を見ていないよ問題はありますか?

返されCharSequenceStringでない場合はClassCastExceptionでクラッシュします。たとえば、Html.fromHtml()などの手段を使用してSpannedStringを作成し、TextViewにあるものを使用すると、は返されません。