Почему мой модальный компонент реакции-начальной загрузки так выглядит?

Когда вы вызываете setAdapter, это не сразу выкладывает и позиционирует элементы на экране (который принимает один проход макета), поэтому ваш вызов scrollToPosition() не имеет фактических элементов для прокрутки, когда вы его вызываете.

Вместо этого вы должны зарегистрировать ViewTreeObserver.OnGlobalLayoutListener (через addOnGlobalLayoutListner () из ViewTreeObserver, созданного conversationView.getViewTreeObserver()), который задерживает ваш scrollToPosition() пока после первого прохода макета:

conversationView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
  public void onGlobalLayout() {
    conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size();
    // Unregister the listener to only call scrollToPosition once
    conversationView.getViewTreeObserver().removeGlobalOnLayoutListener(this);

    // Use vto.removeOnGlobalLayoutListener(this) on API16+ devices as 
    // removeGlobalOnLayoutListener is deprecated.
    // They do the same thing, just a rename so your choice.
  }
});

0
задан Serg M Ten 4 March 2019 в 12:42
поделиться

1 ответ

Вы упускаете таблицу стилей из реакции-начальной загрузки, поэтому модель не получает должного стиля. Добавьте следующее в ваш HTML, и оно должно работать.

<link
  rel="stylesheet"
  href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
  integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS"
  crossorigin="anonymous"
/>

Перейдите по ссылке , чтобы интегрировать ваше приложение и использовать его с реакции-начальной загрузкой.

0
ответ дан Mayank Shukla 4 March 2019 в 12:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: