我想写一个组件,可以利用注解的方式,自动找到这个View,并且可以找到点击事件的方法,像这样(注解类就不贴出来了):
@ViewClick(viewId=R.id.clickBtn, clickMethod="btnClickMethod")
private Button btnClick;
但是中间遇到了一些问题,log如下所示:
12-27 19:04:51.090: W/System.err(14345): java.lang.IllegalArgumentException: expected receiver of type com.mobile.component.setting.SysSettingActivity, but got java.lang.Class<com.mobile.component.setting.SysSettingActivity>
12-27 19:04:51.100: W/System.err(14345): at java.lang.reflect.Method.invokeNative(Native Method)
12-27 19:04:51.100: W/System.err(14345): at java.lang.reflect.Method.invoke(Method.java:511)
12-27 19:04:51.100: W/System.err(14345): at com.mobile.component.base.BaseActivity$1.onClick(BaseActivity.java:80)
12-27 19:04:51.100: W/System.err(14345): at android.view.View.performClick(View.java:3538)
12-27 19:04:51.100: W/System.err(14345): at android.vi
android BaseActivity$1.onClick 匿名内部类 this.getClass()问题
最新推荐文章于 2023-10-21 12:39:06 发布
在Android编程中,作者遇到一个组件开发的问题,即在BaseActivity的匿名内部类onClick方法中使用this.getClass()获取到的不是预期的类,导致方法调用失败。通过分析错误日志,作者发现this.getClass()返回的是匿名内部类的Class对象。为了解决这个问题,作者改用BaseActivity.this.getClass(),成功获取到正确的类并能正确调用相应的方法。
摘要由CSDN通过智能技术生成