安卓OnClick点击触发Activity跳转时应用崩溃如何解决?
问题根因
你遇到的崩溃是系统无法找到点击事件绑定的方法导致,报错信息里的teste(View)是系统实际尝试调用的方法名,和你当前代码里写的start_motora不匹配,说明修改后的代码没有生效,或者布局绑定的宿主对象错误。
解决方案
- 补全布局的宿主Activity声明:你异常的XML根布局缺少
tools:context声明,系统无法确定该去哪个Activity类里找绑定的点击方法,你需要在异常XML的ConstraintLayout根标签里加上这行,把后面的Activity路径替换成你写start_motora方法的Activity类路径:tools:context=".你的Activity类名" - 清除构建缓存重新编译:Android Studio的构建缓存可能残留了旧的布局代码,导致你修改后的方法名没有生效。依次执行顶部菜单栏的「Build → Clean Project」→「Build → Rebuild Project」,再卸载测试设备上的旧应用重新安装运行。
- 全局排查残留的旧绑定逻辑:全局搜索项目所有XML文件中的
teste关键字,也可以同时搜索idbutton2快速定位报错的布局文件,确认是否有其他未修改的布局、或者其他资源限定符目录下的同名布局还保留着android:onClick="teste"的旧绑定属性,找到后修改成正确的方法名即可。 - (可选)推荐更稳定的点击绑定方式:XML的
onClick属性容易出现类查找错误,你可以直接在Activity的onCreate方法中手动设置点击监听,写法如下:// 把CurrentActivity替换成当前Activity的类名 ImageButton motorBtn = findViewById(R.id.motor); motorBtn.setOnClickListener(v -> { Intent intent = new Intent(CurrentActivity.this, MotorActivity.class); startActivity(intent); });
内容的提问来源于stack exchange,提问作者Laura Ferrari
相关产品推荐
相关产品推荐

