Java 在android中为自定义视图设置onClick-in-xml在某些版本上不起作用
我创建自定义视图并在一些xml活动中使用它,然后设置android:onClick=buttonOnClick。我将ButtonNonclick定义为public,并将其写入其活动和设置工具:context。 Activity.javaJava 在android中为自定义视图设置onClick-in-xml在某些版本上不起作用,java,android,android-layout,android-view,android-custom-view,Java,Android,Android Layout,Android View,Android Custom View,我创建自定义视图并在一些xml活动中使用它,然后设置android:onClick=buttonOnClick。我将ButtonNonclick定义为public,并将其写入其活动和设置工具:context。 Activity.java public void buttonOnClick(View view) { validate(view); } layout.xml <LinearLayout xmlns:android="http://schemas.an
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" />
它在Build.VERSION.SDK\u INT>=Build.VERSION\u CODES.LOLLIPOP上工作,但在其他操作系统版本中,自定义视图xml onclick属性尝试从视图类而不是活动中查找处理程序。
我不希望在每个视图上都使用onClick或setOnClickListener的实现,我希望在活动的布局中使用onClick
只是不清楚xml中的按钮和
活动中对单击事件作出反应的方法,除非
在Java文件中显式地查看它的定义。使用安卓:onClick
方法你甚至可以忘记你有一个按钮在你的布局或
这是处理onClick事件的方法
您应该使用而不是android:onClick
调用视图时要调用的回调的接口定义
点击
此方法获取对侦听器的引用,并注册一个回调,以便在单击视图时调用
供参考
确保在XML中设置android:clickable=true。您应该指定此属性
相反,在类中使用onClickListener,并使用customView的id调用onClickWhide设置android:clickable=true。要获得良好的实践,请使用onClickListeneryes,设置android:clickable=true@MohammadJavad仅供参考,安卓:onClick不会在FRAGMENT@IntelliJAmiya,我不使用Fragment,但它在android 5或更高版本中工作
<com.test.myapp.GifImageViewComp
android:clickable="true"
android:onClick="buttonOnClick" />