我想使用带有静态页脚的 View Pager 来实现图片库。在页脚我有 3 个按钮下载、分享和收藏

I want to implement Image Gallery using View Pager with static footer. In footer I have 3 button download, share and Favorite

现在的问题是,当我喜欢第一张图片时,其余图片也显示红心图标,反之亦然...任何人都可以帮助我如何通过滑动图片?

通过点击收藏按钮 ivFavImage 调用以下侦听器

        if (databaseHandler.checkData(DatabaseModel(stringPaths[vpSingleItem.currentItem]))) {

            ivFavImage.setImageResource(R.drawable.ic_favorite_red)

        } else if (!databaseHandler.checkData(DatabaseModel(stringPaths[vpSingleItem.currentItem]))){

            ivFavImage.setImageResource(R.drawable.ic_favorite_white)

        }

        ivFavImage.setOnClickListener {
            if (!databaseHandler.checkData(DatabaseModel(stringPaths[vpSingleItem.currentItem]))) {
                databaseHandler.insertData(DatabaseModel(stringPaths[vpSingleItem.currentItem]))
                ivFavImage.setImageResource(R.drawable.ic_favorite_red)
                Toast.makeText(context, "Image added to Favorite Designs", Toast.LENGTH_SHORT)
                    .show()
            } else if (databaseHandler.checkData(DatabaseModel(stringPaths[vpSingleItem.currentItem]))) {
                databaseHandler.deleteImage(DatabaseModel(stringPaths[vpSingleItem.currentItem]))
                ivFavImage.setImageResource(R.drawable.ic_favorite_white)
                Toast.makeText(context, "Image removed from Favorite Designs", Toast.LENGTH_SHORT)
                    .show()
            }
        }

我已将布局声明为这样

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:orientation="vertical"
        android:weightSum="1">

        <androidx.viewpager.widget.ViewPager
            android:id="@+id/vpSingleItem"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.9" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.1"
            android:background="@color/colorPrimaryDark">

            <ImageView
                android:id="@+id/ivDownloadImage"
                android:layout_width="30dp"
                android:layout_height="match_parent"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:layout_marginStart="10dp"
                android:src="@drawable/download_white" />

            <ImageView
                android:id="@+id/ivFavImage"
                android:layout_width="30dp"
                android:layout_height="match_parent"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_favorite_white" />

            <ImageView
                android:id="@+id/ivShareImage"
                android:layout_width="30dp"
                android:layout_height="match_parent"
                android:layout_alignParentEnd="true"
                android:layout_centerVertical="true"
                android:layout_marginEnd="10dp"
                android:src="@drawable/share_icon" />

        </RelativeLayout>

    </LinearLayout>

更改 viewPager.setOnPageChangeListener()

中的图标状态

从您的模型获取图标状态并根据 viewPager 的当前位置更改页脚