gpt4 book ai didi

android - 当我们使用数据绑定(bind)时如何在ViewPager中刷新recyclerView

转载 作者:行者123 更新时间:2023-11-29 02:34:35 25 4
gpt4 key购买 nike

Activity 代码:

private ActivityNBinding mBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_all);
mBinding.tabLayout.setupWithViewPager(mBinding.viewPager);
AllTypesBean allTypesBean = new AllTypesBean();
mBinding.setVariable(BR.notifications, allTypesBean);
}

XML代码:

 <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="notifications"
type=".AllTypesBean"/>
</data>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Activity">

<include
layout="@layout/toolbar_layout"/>

<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:adapter="@{ notifications.adapter }"/>
</LinearLayout>
</layout>

然后我在 AllTypesBean 中设置了 ViewPagerAdapter:

 public PagerAdapter getAdapter() {
if (adapter == null) {
adapter = new CommentPagerAdapter<>(list, R.layout.all_recycler, BR.notificationRecycler);
}
return adapter;
}

现在我需要在Activity中获取网络数据,并刷新RecyclerView。但我不知道该怎么做。有谁能够帮助我?我在“AllTypesBean”中有 3 个 ArrayLists,用于 ViewPager 中的三个 RecyclerView,我从三个 URL 中获取它们.

最佳答案

数据对象

任何普通的旧 Java 对象 (POJO) 都可以用于数据绑定(bind),但修改 POJO 不会导致 UI 更新。数据绑定(bind)的真正威力可以通过让您的数据对象能够在数据更改时发出通知来发挥。存在三种不同的数据更改通知机制,Observable 对象、可观察字段和可观察集合。

当这些可观察数据对象之一绑定(bind)到 UI 并且数据对象的属性发生变化时,UI 将自动更新。

阅读关于数据绑定(bind)的 Android 开发者指南

https://developer.android.com/topic/libraries/data-binding/index.html#data_objects

关于android - 当我们使用数据绑定(bind)时如何在ViewPager中刷新recyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47807051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com