View.scrollTo(...)と postDelay タイマーを使用して Auto HorizontalScrolling を実行し、スクロールを継続するコードを実装します。
私が使用しているスクロールを開始するには:
private void startScrolling() {
handler.postDelayed(new Runnable() {
public void run() {
counter = (int) (counter + 10);
handler.postDelayed(this, 100);
viewCount++;
if(viewCount == MAX_CHILD) {
viewCount = 0;
resetViewPosition(0);
}
llParent.scrollTo(counter , 0);
}
}, 1000L);
}
最後に、最初のビューをすべて削除して再度追加するので、最後に次のようにして新しい子として表示されます。
private void resetViewPosition(int viewIndex) {
View view = llParent.getChildAt(viewIndex);
Log.v(TAG, "resetViewPosition : "+view.getId()+", "+llParent.getChildCount());
llParent.removeViewAt(viewIndex);
llParent.addView(view);
}
問題: このプロセスでは、最初は一部のビューが正しく機能しますが、すぐに次の子が表示されなくなります。まだ実行中のプロセスを追加/削除していますが、resetViewPosition(..) で適切にインデックス ID を取得しています。子ビューだけが描画されていません。
親ビューのスクロール中にビューを追加して表示する方法を教えてください。