android 绑定:onClick 在片段内未被识别

问题描述 投票:0回答:1
java android android-fragments
1个回答
0
投票

这是因为

android:onClick
仅适用于 Activity 方法,不适用于 Fragment 方法 - 正如您已经发现的那样。这是因为onClick正在寻找当前Context中的方法,而Context是承载Fragment的Activity,而不是Fragment本身。片段不会创建上下文 - 它们附加到创建上下文的活动。

https://developer.android.com/reference/android/view/View#attr_android:onClick

单击视图时要调用的

视图上下文中的方法名称。该名称必须对应于一种仅采用一个 View 类型参数的公共方法。例如,如果您指定 android:onClick="sayHello",则必须声明上下文(通常是您的 Activity)的 public void sayHello(View v) 方法。

要处理 Fragment 中的单击事件,您应该在 Java 或 Kotlin 代码中以编程方式设置单击侦听器,就像在

onViewCreated

 方法中所做的那样。

© www.soinside.com 2019 - 2024. All rights reserved.