【Android】报错java.lang.reflect.InvocationTargetException解决办法

当遇到java.lang.reflect.InvocationTargetException异常时,通常是由于反射调用的方法内部抛出异常或者参数不匹配导致。在Android开发中,尝试将int类型的printNum直接设置给文本视图导致运行时闪退,修正方法是将int转换为String类型,如activityView.printQuantityStatistics.setText(String.valueOf(printNum))。解决方案包括检查invoke参数与方法参数的一致性和参数类型是否正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息:java.lang.reflect.InvocationTargetException反射层调用方法失败

结果图

在这里插入图片描述

原因

InvocationTargetException异常由Method.invoke(obj, args…)方法抛出。(反射异常)
当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收!!!
反射层将所有的异常都包装在一个InvocationTargetException 中,能使你区分异常的实际上是反射层的引起的一个调用失败(例如参数列表无效)和调用方法内部的错误

我遇到的情况是:activityView.printQuantityStatistics.setText(printNum ); printnum这个是int类型,直接放进去,代码也没报错,但是运行的时候,就闪退,怀疑是这里有问题,就改了一下这里的代码,activityView.printQuantityStatistics.setText(String.valueOf(printNum) );
运行成功

解决办法

1、检查invoke参数和调用的方法的参数是否一致
2、检查调用方法的参数类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值