0

チェック可能なリストビューを使用します(設定しました:) Mylistview.setChoiceMode(1)

各行の中には、2つのImageViewと2つのTextViewがあります。

アイテムがチェックされているときに、テキストが長すぎる場合、TextViews内のテキストがスクロールするようにしたいと思います。したがって、私の行のXMLでは、両方のTextViewに次のように割り当てています。

android:singleLine="true" 
android:ellipsize="marquee" 
android:marqueeRepeatLimit="marquee_forever"

残念ながら、これにより、アイテムがフォーカスされてチェックされていない場合にのみテキストがスクロールします。

だから私が考える解決策は次のとおりです:

1)独自のカスタムTextViewクラスを作成し、チェックしたときにそれ自体にフォーカスするようにします(それが可能かどうかはわかりませんか?)

2)タッチモードでもチェック項目にフォーカスを置く(使用SetFocusableInTouchMode

私は2番目の解決策を実行することを達成しておらず、独自のカスタムTextViewを作成する場合にどのメソッドをオーバーライドするかわかりません。

項目がチェックされているときにテキストをスクロールさせるのを手伝ってもらえますか?ありがとう。

4

1 に答える 1

0

次のようなことをする必要があります。

int scrollAmount = mTextView.getLayout().getLineTop(mTextView.getLineCount())
        -mTextView.getHeight();

// if there is no need to scroll, scrollAmount will be <=0
if(scrollAmount>0)
    mTextView.scrollTo(0, scrollAmount);
else
    mTextView.scrollTo(0,0);
于 2012-06-12T15:24:14.293 に答える