1

View.scrollTo(...)と postDelay タイマーを使用して Auto Horizo​​ntalScrolling を実行し、スクロールを継続するコードを実装します。

私が使用しているスクロールを開始するには:

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 を取得しています。子ビューだけが描画されていません。

親ビューのスクロール中にビューを追加して表示する方法を教えてください。

4

1 に答える 1