Je crée une vue personnalisée et l'utilise dans une activité xml puis définissez android:onClick="buttonOnClick"
. J'ai défini buttonOnClick
comme public
et l'écrire dans son activité et définir tools:context
.
Activity.javaSet onClick in xml pour une vue personnalisée dans android in't fonctionne sur une version
public void buttonOnClick(View view) {
validate(view);
}
layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
...
tools:context="com.test.myapp.Activity">
<com.test.myapp.GifImageViewComp
....
android:onClick="buttonOnClick" />
il travaille sur Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
mais dans d'autres OS, xml affichage personnalisé attribut onclick essayer de trouver gestionnaire de la classe de vue au lieu de l'activité.
Je ne veux pas utiliser la mise en œuvre de onClick ou setOnClickListener sur tous les plans, je veux utiliser onClick dans la présentation de l'activité
à la place, utiliser onClickListener en classe, et en utilisant l'identifiant de votre CustomView, appelez onClick() –
Avez-vous mis 'android: cliquable = "true"' ??? .Pour une bonne pratique utiliser onClickListener –
oui, régler 'android: clickable =" true "' –