如何在Android中的自定义复合窗口小部件上处理单个视图的单击侦听器?

时间:2019-06-22 03:53:17

标签: android onclicklistener custom-widgets

我有一个具有两个视图(图像视图和文本视图)的自定义窗口小部件(InfoIcon)。 我在主布局文件中多次使用此自定义窗口小部件(InfoIcon),并为整个自定义窗口小部件使用了单独的ID(infoIconOne,infoIconTwo,infoIconThree)。 现在只想监听ImageView(在自定义小部件内部)onClick事件,以及如何识别ImageView单击是否发生在父布局的infoIconOne / infoIconTwo / infoIconThree中?

InfoIcon:

<RelativeLayout
    android:id="@+id/icon_layout">
    <ImageView
        android:id="@+id/image_icon"
        android:src="@drawable/icon" />
    <TextView
        android:id="@+id/icon_info_text"/>
</RelativeLayout>

MainLayout:

<android.support.constraint.ConstraintLayout
    android:id="@+id/parent_container">
    <InfoIcon
        android:id="@+id/iconOne"/>
    <InfoIcon   
        android:id="@+id/iconTwo"/>
    <InfoIcon   
        android:id="@+id/iconThree"/>
</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

findViewById(R.id.infoIconOne).findViewById(R.id.image_icon).setOnClickListener {...}

,您需要对所有具有id的图像视图进行操作