不知怎的,我可以在我的项目中看到来自其他活动的onClick方法。我不知道为什么,但看起来它们是全球性的。
现在我的当前活动中有一个onButtonOkClick
方法,上一个活动中有一个onButtonOkClick
,我得到一个NullPointerException
,因为它尝试访问上一个活动中的一个。{ / p>
我在哪里可以配置该范围?显然onClick方法也必须公开吗?
public void onButtonOkClick(View view) {
// CODE
}
我还可以在资源(EditText
)中查看其他活动中的所有元素,例如Buttons
和R.id
。也许我在某处错误配置了这个?
修改
这是堆栈跟踪:
java.lang.IllegalStateException:无法执行的方法 活性
...
引起:java.lang.reflect.InvocationTargetException
...
引起:java.lang.NullPointerException
代码
导致错误的代码不是我的。当我点击" OK"按钮。它发生在Android SDK创建的处理程序中。 (当然,它无法访问不再存在的Activity的方法!)
从哪里可以看到其他活动中的onClick方法
我正在使用AndroidStudio。可以在设计器中配置onClick侦听器(您也可以在布局XML中执行此操作)。我可以看到上一个Activity中的onClick方法,但不能看到当前Activity中具有相同名称的方法。 (两者都称为onButtonOkClick
)
我实际上可以从所有活动中看到所有onButtonClick。在过去,我只是以不同的方式命名它们,但首先这是一个非常非常糟糕的方法(我希望它不是由Android设计),其次是名称变得越来越复杂。
编辑2
以下是AndroidStudio的截图。正如您所看到的,列出了几个活动的处理程序,我不能将它们命名为相同。