Как остановить изменение TextView в контейнере от сброса прокрутки контейнеров? - PullRequest
0 голосов
/ 23 октября 2019

Размер текстового просмотра составляет около 2 страниц.

Моя текущая попытка - попытаться сохранить ScrollY, а затем снова установить его на предыдущее значение, но по какой-то причине он не работает.

public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                             Bundle savedInstanceState) {
        final View rootView = inflater.inflate(R.layout.item_detail, container, false);

        final TextView viewById = (TextView) rootView.findViewById(R.id.item_detail);
        viewById.setText(mItem.details);
        timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                int oldScrollY = container.getScrollY();
                viewById.setText(mItem.details);
                container.setScrollY(oldScrollY);
                Snackbar.make(viewById, "oldScrollY:"+oldScrollY, Snackbar.LENGTH_LONG).show();
            }
        },100,10_000);
}

Размер текста остается примерно таким же, но обновляется только в 2 местах.

По какой-то причине представление всегда прокручивается назад к вершине, когда текст устанавливается снова.

Я даже пытался установить период равным 10_000 миллисекунд, но прокрутка текстового обзора по-прежнему сбрасывается обратно наверх после установки текста.

Значение для прокрутки контейнера не 0, но все жепрокрутка сбрасывается к вершине, после того как для нее установлено значение, отличное от 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...