Android studio Android:允许运行无效程序的即时运行(onClick处理程序中缺少“public”)
(我是一名新的Android开发人员,所以我的术语可能是错误的。) Android Studio 2.3.1 针对API 22 我似乎有一个程序有一个即时运行允许的错误,但当从一个内置的apk运行时崩溃,例如,从电子邮件安装。情况是这样的: 我有一个xml按钮,带有onClick属性:Android studio Android:允许运行无效程序的即时运行(onClick处理程序中缺少“public”),android-studio,instant-run,Android Studio,Instant Run,(我是一名新的Android开发人员,所以我的术语可能是错误的。) Android Studio 2.3.1 针对API 22 我似乎有一个程序有一个即时运行允许的错误,但当从一个内置的apk运行时崩溃,例如,从电子邮件安装。情况是这样的: 我有一个xml按钮,带有onClick属性: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:te
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:onClick="myOnClick"
/>
(是的,我确实收到Android Studio的警告,说myOnClick从未被使用过。)
当我使用run或Debug按钮从Android Studio运行此程序时,程序运行“正确”,即当我单击按钮时,myOnClick会毫无怨言地执行。但它不应该工作,因为所需的签名是“public void myOnClick(View v)”
此外,如果我“构建APK”,然后以文件的形式显式安装该APK,例如通过在手机上将其邮寄给我自己,则应用程序会崩溃,我认为这是正确的行为:
Could not find method myOnClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton
[trace snipped]
添加缺少的“public”允许应用程序在从apk像这样安装时运行。我认为这是Android Studio即时运行功能中的一个bug,并打算将其归档,除非有一个原因,它不是bug。
这是有原因的,还是有缺陷
Could not find method myOnClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton
[trace snipped]