touch downでfling停止
今回の変更について。
- list viewでflingした際、デフォルトではtouch downで停止する
- 中のTextViewのsetMovementMethodでMovementMethodを設定すると何故かtouch upで停止になる
- TextViewに疑似touch upイベントをdispatchすることでflingを停止することはできる
- ただし、その際にclickableなspanなどのonclickハンドラが叩かれることがある
で、何の工夫もない修正なんだけど、
- ListAdapterがListViewのitemをinflateする際に、生成するTextViewを全て憶えておく
- Viewは使い回してるから、レスが1000あっても実際は数個しか作られない。
- onScrollStateChangedでflingされたらTextViewのsetMovementMethodでnullをセット。
- fling終わったら元に戻す
終わり。比較的安全な変更ではあると思う。