閉じる

ListView内の TextViewに対する setMovementMethod

ListViewのアイテムとして TextViewを含む独自のビューを設定。
その TextViewを部分的にクリッカブルにするために ClickableSpanの継承クラスと SpannableStringを使用。*1
お呪いとして「tv.setMovementMethod(LinkMovementMethod.getInstance());」も記述。
これでクリッカブルに関しては期待通り動作するようになった。
が、ListViewアイテムのクリック系が全部こいつに食われしまうようで、困ったことに。
しばらく悩んだ末に ListViewをクリックできないという記事を書いたことを思い出した。
アレもボタンやらチェックボックスにフォーカスを食われるのが原因だった。
そこで、同じように TextViewに対して「android:focusable=”false”」を記述してみた…駄目でした…_no
気を取り直して TextViewのインスタンスに対して .setFocusable(false)と動的に呼び出してみた…駄目でした…_no
あきらめきれずに .setMovementMethod呼び出し後に .setFocusable(false)を呼び出すと…ビンゴ。


*1 これらの使い方に関してはココでは触れない。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)