Загрузить больше утилитарных объектов при нажатии на кнопку «еще» с URL - PullRequest
0 голосов
/ 17 октября 2019

Я использую модификацию для показа предметов, относящихся к переработке. Сначала видны только два из них, но при нажатии кнопки «Показать больше» я пытаюсь загрузить остальные элементы с помощью api.

Мой подход заключается в добавлении дополнительных элементов с URL-адресом, но не в состояниивыяснить, правильно ли я иду или нет.

Я могу показать, начиная с 2 пунктов, и с бэк-энда я получаю ссылку в теге "nextComments". Передача этого URL в качестве параметра в метод вызова API. Попытка выяснить следующий подход

Api.getReplies(nextUrl.toString())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(
            { result ->
                if (!result.results.isNullOrEmpty()) {
                    nextUrl = result.next.toString()


                    //-------what should be here-----//?
                    replyAdapter.notifyDataSetChanged()
                }
            },
            { error ->
                println(error)
            })

Предполагается, что элементы будут добавлены в утилите, когда я нажму на кнопку Показать больше

1 Ответ

1 голос
/ 17 октября 2019

Это действительно зависит от того, как выглядит код вашего адаптера, но вот общий пример:

//get the new items from backend
var more_objects = await MyWebService.GetMoreObjects (indexKey);
// add the items to the adapter
_adapter.appendObjects(more_objects);
_adapter.NotifyDataSetChanged ();

appendObjects в адаптере:

    public void appendObjects (List<MyObj> obj)
    {
        foreach (var o in obj) {
            data.Add (o);
        }
    }

appendObject in kotlin

fun appendObjects(obj: List<MyObj>) {
    obj.forEach { 
        data.Add (it); 
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...