Android ViewPager2设置2,3中的CurrentItem,。。。半身着地
Viewpager2目前在StackOverflow中几乎没有引用,这个问题还没有回答。我使用ViewPager2进行缩放活动。当我单击第一个索引/位置上的图像时,此代码工作正常,同时单击第二个索引,它将显示如下所示: 活动Android ViewPager2设置2,3中的CurrentItem,。。。半身着地,android,kotlin,android-viewpager2,Android,Kotlin,Android Viewpager2,Viewpager2目前在StackOverflow中几乎没有引用,这个问题还没有回答。我使用ViewPager2进行缩放活动。当我单击第一个索引/位置上的图像时,此代码工作正常,同时单击第二个索引,它将显示如下所示: 活动 onCreate(savedInstanceState: Bundle?){ view_pager.adapter = ZoomImageAdapter(this, images) view_pager.offscreen
onCreate(savedInstanceState: Bundle?){
view_pager.adapter = ZoomImageAdapter(this, images)
view_pager.offscreenPageLimit = images.size
// get index of image
val index = images.indexOfLast {
it.urlImage == image
}
view_pager.post {
view_pager.setCurrentItem(index, true)
}
index_page.text = "${index+1}/${images.size}"
view_pager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback(){
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
index_page.text = "${position+1}/${images.size}"
caption_image.text = images[position].imageCaption
}
})
}
适配器
inner class ZoomImageAdapter(fragmentActivity: FragmentActivity,
private val images: List<ImagesArticle>) : FragmentStateAdapter(fragmentActivity){
override fun getItemCount(): Int = images.size
override fun createFragment(position: Int): Fragment {
return ZoomFragment.newInstance(images[position])
}
}
我的活动布局
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#000000"
tools:context="com.site.app.ZoomActivity">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@+id/caption_image"
android:layout_below="@+id/index_page"
android:transitionName="image_transition_zoom"
app:layout_constraintBottom_toTopOf="@+id/caption_image"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/index_page" />
<TextView
android:id="@+id/index_page"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10dp"
android:textColor="@color/colorWhite"
android:textSize="@dimen/_16dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/caption_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:text=""
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
我不明白,我的剧本有什么问题
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#000000"
tools:context="com.site.app.ZoomActivity">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@+id/caption_image"
android:layout_below="@+id/index_page"
android:transitionName="image_transition_zoom"
app:layout_constraintBottom_toTopOf="@+id/caption_image"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/index_page" />
<TextView
android:id="@+id/index_page"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10dp"
android:textColor="@color/colorWhite"
android:textSize="@dimen/_16dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/caption_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:text=""
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>