为什么onClick布局XML引用的方法需要公开?

时间:2014-12-02 21:34:20

标签: java android

所以大约45分钟,我很难理解为什么我的Activity的方法无法访问,即使我在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" />

我的Activity的方法签名:

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

我一旦得到错误就知道我只需要将访问修饰符更改为“public”但我不明白为什么。 Layout XML是否在我的活动范围之外编译?

谢谢,

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:-1)

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