Как обновить отображение RecyclerView, когда я нажимаю на свой собственный API - PullRequest
0 голосов
/ 02 ноября 2019

поэтому я создаю приложение для социальных сетей, используя RecyclerView, оно имеет кнопку «Мне нравится» и счетчик «Мне нравится». Когда MainActivity загружает OnCreate, он нажимает «http // test / getLikeCounter», чтобы отобразить как счетчик в моем RecyclerView, но когда я нажимаю кнопку «Нравится», оно будетнажмите мой собственный API "http // test / setLikeCounter" и добавьте счетчик в мою базу данных, но поскольку он не загружает метод OnCreate снова, поэтому он не добавляет свой счетчик лайков в My RecyclerView, как я должен сделать, чтобы обновить мойRecyclerView динамически, когда я нажимаю кнопку «Мне нравится»?

это getLikeCounter RecyclerView

public void createDummyData1UPDATE(int ReceivedDummyUrutan, int ReceivedTotalThread, String ReceivedDummyIDContent, String ReceivedDummyTitle, String ReceivedDummyPublishTime, String ReceivedDummyImageOri, String ReceivedDummyShortDescription, int ReceivedDummySeen, int ReceivedDummyComment, int ReceivedDummyLike, int ReceivedDummyisComment, int ReceivedDummyisLike, int ReceivedDummyisBookmark) {
    modelSingleHotTrendingNews.add(new ModelSingleHotTrendingNews(ReceivedDummyIDContent, ReceivedDummyTitle, ReceivedDummyPublishTime, ReceivedDummyImageOri, ReceivedDummyShortDescription, ReceivedDummySeen, ReceivedDummyComment, ReceivedDummyLike, ReceivedDummyisComment, ReceivedDummyisLike, ReceivedDummyisBookmark,"x53535", "No Error"));

    if(ReceivedDummyUrutan ==  ReceivedTotalThread-1){
        ModelSectionHotTrendingNews modelSectionHotTrendingNewsX = new ModelSectionHotTrendingNews();
        modelSectionHotTrendingNewsX.setHeaderTitle("TRENDING NEWS");
        modelSectionHotTrendingNewsX.setAllItemsInSection(modelSingleHotTrendingNews);
        modelSectionHotTrendingNews.add(modelSectionHotTrendingNewsX);

        RecyclerViewSingleHotTrendingNews = v.findViewById(R.id.RecyclerView_Single_HotTrendingNews);
        RecyclerViewSingleHotTrendingNews.setHasFixedSize(true);
        adapterSectionHotTrendingNews = new AdapterSectionHotTrendingNews(getActivity(), modelSectionHotTrendingNews, listenerHotTrendingNews);
        RecyclerViewSingleHotTrendingNews.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
        RecyclerViewSingleHotTrendingNews.setAdapter(adapterSectionHotTrendingNews);
        //Optimized
        RecyclerViewSingleHotLatestNews.setHasFixedSize(true);
        RecyclerViewSingleHotLatestNews.setItemViewCacheSize(20);
    }

}

1 Ответ

0 голосов
/ 02 ноября 2019

Почему вы используете объекты Observe LiveData для прослушивания измененных данных? ref: https://developer.android.com/topic/libraries/architecture/livedata#observe_livedata_objects

При успешном вызове API я использую LiveData для наблюдения за изменением данных для обновления пользовательского интерфейса

// Create the observer which updates the UI.
    val nameObserver = Observer<String> { newName ->
        // Update the UI, in this case is your recyclerview
    }

    // Observe the LiveData, passing in this activity as the LifecycleOwner and the observer.
    model.currentName.observe(this, nameObserver)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...