[Android]TextView の getEditableText が null を返す

TextViewで表示する文字列を装飾していて、そこから getEditableText() を使用して装飾情報ごと Editable型で抽出しようとしたのですが、nullが返ってきて装飾情報だけでなく文字列すら取得できない。。。

ドキュメントを見たら、こんな記載が。
https://developer.android.com/reference/android/widget/TextView.html#getEditableText()

Return the text the TextView is displaying as an Editable object. If the text is not editable, null is returned.


テキストが編集可能でないとnullを返すのね。。。
なので、編集可能な EditText(TextViewを継承している)に変更したら無事 getEditableText() で装飾情報と文字列を取得することができました!!

一応、EditTextだと入力ができてしまったり、入力ボックスの枠が表示されたりするので、そこはTextViewのように振る舞うように以下を設定。

android:focusable="false"
android:background="#00000000"

フォーカスを当てないようにして、入力を不可にして、背景を設定して枠を非表示にしました。
これで、やりたいことはできました。


コメントの投稿

非公開コメント

プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter