c # — кнопка Загрузить еще сообщения

В проекте социальной сети Xamarin.Forms, над которым я работаю, мне бы хотелось, чтобы фид отображался в первых 10 публикациях. (Сообщения — это сообщения людей, за которыми вы следите, отсортированные по их отметке времени и запрошенные через URL).

Прямо сейчас у меня отображаются все сообщения, которые могут варьироваться до 100. Я хотел бы, чтобы он отображал 10, тогда, когда вы прокручиваете вниз, он добавляет еще 10 и так далее.

Я старался добавив $section = $_POST['sections'] и разделы будут равняться 1-10, чтобы начаться, тогда при прокрутке вниз будет запрашиваться 11-20. За исключением проблемы, которую я обнаружил, было то, что если пользователь публикует сообщения во время прокрутки вниз, это испортило бы порядок, поскольку каждое сообщение теперь на один идентификатор выше (автоматически увеличивающийся идентификатор сообщения)

Будет ли лучше собирать все посты с URL-адреса и отображать только 1-10 на стороне C # или мне нужно сделать это Webside в PHP?

Другой вопрос Как я могу отследить, когда пользователь прокручивает до конца ScrollView, так что прямо перед тем, как они достигнут конца, я могу отправить запрос

1

Решение

Что вам нужно, так это бесконечный просмотр списка.

Есть ряд пакетов nuget, которые предоставляют эту функциональность.

Вот сообщение в блоге, содержащее полную информацию о том, как его реализовать.

1

Другие решения

Как и в приведенном выше сообщении, то, что вам нужно, это бесконечный просмотр списка прокрутки.

Вы можете использовать Nuget для него или создать свой собственный. Если вы хотите создать свой собственный, то я сделал, чтобы создать class : behavior<ListView>внутри класса, вы связываете Command а также Converter и создать OnItemAppearing метод, где вы вставляете, где вы можете выполнить свой Command, Вы также должны переопределить OnDetachingFrom а также OnAttachedTo

После того, как вы создали свой Behavior, внедрите это так на вашем xaml:

<behaviours:Infinite Command="{Binding LoadMoreCommand}"Converter="{StaticResource ItemVisibilityEventArgsConverter}">
</behaviours:Infinite>

Во время вашего LoadMoreCommand Вы можете поставить свою логику здесь, если у вас еще есть элементы для извлечения, а затем установите видимость вашего Button в True, Извините, я не могу опубликовать весь код.

1

По вопросам рекламы [email protected]