0

我一直在尝试设置一个点击监听器,com.denzcoskun.imageslider.ImageSlider但它不起作用。图像滑块完美运行,它显示幻灯片。唯一的问题是它没有被点击。

遵循图像滑块的 XML 代码。

            <com.denzcoskun.imageslider.ImageSlider
                android:id="@+id/image_slider"
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:clickable="true"
                android:focusable="true"
                android:minHeight="@dimen/item_dashboard_image_height"
                app:iss_auto_cycle="true"
                app:iss_corner_radius="5"
                app:iss_delay="0"
                app:iss_error_image="@color/colorDarkGrey"
                app:iss_period="2500"
                app:iss_placeholder="@color/colorDarkGrey"
                app:iss_selected_dot="@drawable/default_selected_dot"
                app:iss_unselected_dot="@drawable/default_unselected_dot"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

以下是 Kotlin 代码。这是在我的 onCreate() 方法中。它不显示吐司消息。错误在哪里?

    class DetailsActivity : BaseActivity(), View.OnClickListener {
    
    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
    
            binding = ActivityProductDetailsBinding.inflate(layoutInflater)
            setContentView(binding.root)
    
            binding.imageSlider.setOnClickListener {
    
                Toast.makeText(this,"clicked",Toast.LENGTH_SHORT).show()
    
            }
}
4

3 回答 3

0

我认为您必须在 imageSlider setItemOnClickListener 方法中添加。将此代码添加到您的 onCreate imageSlide.setItemOnClickListener()

于 2021-09-19T02:36:27.307 回答
0

问题是我clickListeneronCreate(). 解决方案是我必须使用ClickListenerafter 绑定数据而不是在onCreate()方法中使用它。现在工作正常。

于 2021-09-19T07:48:45.817 回答
0

这给了我一段时间的问题。我担心的是图像滑块(不是特定图像)上的点击监听器。我通过使用 CoordinatorLayout 在图像滑块顶部设置一个透明按钮来解决它。

<androidx.coordinatorlayout.widget.CoordinatorLayout
                    android:layout_width="match_parent"
                    android:layout_height="180dp">

                    <com.denzcoskun.imageslider.ImageSlider
                        android:layout_width="match_parent"
                        android:layout_height="200dp"
                        app:iss_auto_cycle="true"
                        app:iss_period="3300"
                        app:iss_delay="0"
                        android:id="@+id/image_slider"/>

                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@android:color/transparent"
                        android:id="@+id/button_trans"/>
                </androidx.coordinatorlayout.widget.CoordinatorLayout>

然后我为按钮设置了一个 onclick 监听器。

于 2022-01-12T22:40:38.880 回答