为什么 onClick 布局 XML 引用的方法必须是公共的



所以在大约 45 分钟的时间里,我一直在努力理解为什么我的 Activity 的方法无法访问,即使我在活动的布局 XML 中声明了它,如下所示:

<TextView 
    android:id="@+id/lnk_reset_password" android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:onClick="resetPassword" android:clickable="true"
    android:text="Reset Password" />

以及我的活动记录的方法签名:

private void resetPassword (View v) {
    //logic
}

我一收到错误就知道我只需要将访问修饰符更改为"公共",但我不明白为什么。布局 XML 是否会在我的活动范围之外进行编译?

谢谢

穆罕默德是正确的。私有方法只能从同一类或同一类的内部类中调用。但是,调用您的resetPassword方法的是Android框架,因此它必须是公开的。

因为另一个类需要能够调用它。

最新更新