这是因为
android:onClick
仅适用于 Activity 方法,不适用于 Fragment 方法 - 正如您已经发现的那样。这是因为onClick正在寻找当前Context中的方法,而Context是承载Fragment的Activity,而不是Fragment本身。片段不会创建上下文 - 它们附加到创建上下文的活动。
https://developer.android.com/reference/android/view/View#attr_android:onClick
单击视图时要调用的要处理 Fragment 中的单击事件,您应该在 Java 或 Kotlin 代码中以编程方式设置单击侦听器,就像在视图上下文中的方法名称。该名称必须对应于一种仅采用一个 View 类型参数的公共方法。例如,如果您指定 android:onClick="sayHello",则必须声明上下文(通常是您的 Activity)的 public void sayHello(View v) 方法。
onViewCreated
方法中所做的那样。