如何处理 android 中自定义复合小部件上单个视图的点击侦听器



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

信息图标:

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

主布局:

<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>

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

并且您需要为所有具有 ID 的图像视图执行此操作

最新更新