Android - как убедиться, что отмеченная радиокнопка в ScrollView будет видна на экране?

У меня есть RadioGroup с 19 RadioButtons в ScrollView в DialogPreference. В диалоге видны только первые 7 RadioButtons. Все работает нормально, только один вопрос. Как обеспечить, чтобы проверенный RadioButton всегда был виден на экране после привязки диалога? Как программно прокручивать ScrollView, чтобы показать скрытый проверенный RadioButton?

Спасибо за вашу помощь или предложения.


person Miroslav Michalec    schedule 01.11.2011    source источник


Ответы (2)


Вы должны быть в состоянии сделать что-то вроде этого

int top = checkedRadioButton.getTop();
scrollView.scrollTo(0,top);
person blessenm    schedule 01.11.2011
comment
Идеально, работает нормально. Это то, что я искал. Большое спасибо. - person Miroslav Michalec; 03.11.2011

Это то, что сработало для меня.

final Scrollview scrollview = findViewById(R.id.myScrollView);
final RadioGroup rg = findViewById(R.id.myRadioGroup);
int position = //checked position

    scrollView.post(new Runnable() {
        @Override
        public void run() {
            scrollView.scrollTo(0, rg.getChildAt(position).getTop());
        }
    });
person seekingStillness    schedule 14.02.2020