Прокрутка Android в приложении HorizontalScrollView - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть HorizontalScrollView с LinearLayout внутри.Этот LinearLayout (динамически) заполняется множеством TextViews.Я хочу прокрутить свой HorizontalScrollView до указанного TextView в зависимости от некоторого индекса.Я пробую это, но не работает

while (!this.stopsCursor.isAfterLast()) {
        int index = this.stopsCursor.getInt(this.stopsCursor.getColumnIndex("index"));
        if (index == session.getServiceStopIndex()) {
            TextView view = (TextView) this.linearLayout.getChildAt(index);
            StyleHelper.setStopHighlight(view);
            Log.v("TEST", "Left : " + view.getLeft() + "  Right : " + view.getRight());
            int offsetX = ((view.getLeft() + view.getRight()) / 2);
            this.horizontalScrollView.scrollTo(offsetX, 0);

        }
        this.stopsCursor.moveToNext();
    }

Мой регистратор показывает мне Слева: 0 Справа: 0 Кто-нибудь может мне помочь?Заранее спасибо!

1 Ответ

0 голосов
/ 06 декабря 2011

Проблема, вероятно, в том, что вы пытаетесь получить левое и правое изображение до макета.Этот код необходимо переместить позже в процессе компоновки.Трудно точно сказать, куда его переместить, без какого-либо дополнительного контекста относительно того, когда вы хотите прокрутить, но если это происходит сразу после создания (и я предполагаю, что вы заполняете LinearLayout где-то около onCreate действия), то вы можете захотетьпосмотрите на переопределение View.onSizeChanged и сделайте это потом.

...