首页 > 解决方案 > 在 ViewPager2 中更改页面时发出警报

问题描述

当用户在 ViewPager2 中从一页滚动到另一页时,我希望显示一个警报对话框。我知道OnPageChangeCallback界面,但不知道如何使用它。

class showAlert() : Fragment(){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        ...

        binding?.ViewPager?.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback(){
            override fun onPageScrollStateChanged(state: Int) {
                createAlert()
            }
        })
    }
        ...

private fun createAlert() : Dialog {
         return AlertDialog.Builder(childFragmentManager)
             .setTitle("Exit?")
             .setMessage("If you leave, then the data will be lost")
             .setNegativeButton(android.R.string.VideoView_error_text_unknown, new onClickListener())
    }

        ...
 
}
         

同样,重点是,当用户在 viewpager 中从一个片段滚动到另一个片段时,应该显示一个警告对话框,询问它是否要移动到另一个片段。

标签: androidkotlinandroid-viewpager2

解决方案


推荐阅读