リストビュー内の特定の行が選択されている場合にのみ、リストビュー内でテキストビューのスクロールが収まらない場合に最適な方法は何ですか。また、テキストを左から右にスクロールし、最後に到達したら右から左にスクロールして戻します(マーキーのようにデフォルトではありません)
ListView 行の XML:
<TextView
android:id="@+id/txtWouldLikeToScroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:textColor="#fff"
android:textStyle="bold"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
/>
カスタム ListViewAdapter とオーバーライドされたスクロール リスナーを使用しています。
myList.setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
view.setSelection(positionWhereIwouldLikeToPointSelection);
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
break;
case OnScrollListener.SCROLL_STATE_FLING:
break;
}
}
});
}
textview を選択するように設定する必要があると思います(ListView内で選択を設定しているもの)。マーキーの動作をオーバーライドする方法がわかりません。
ありがとうございました