andorid 开发报错
Could not find method onClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.AppCompatTextView with id ‘tv_page’
报错内容
2022-08-18 14:06:22.789 17523-17523/com.example.electronicmall E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.electronicmall, PID: 17523
java.lang.IllegalStateException: Could not find method onClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.AppCompatTextView with id 'tv_page'
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:447)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:405)
at android.view.View.performClick(View.java:7317)
at android.view.View.performClickInternal(View.java:7291)
at android.view.View.access$3600(View.java:838)
at android.view.View$PerformClick.run(View.java:28247)
at android.os.Handler.handleCallback(Handler.java:900)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
解决
检查是否存在该组件
- 检查xml(对于静态布局)或Java(对于动态布局), 确保存在id名为tv_page ,属性为TextView的组件。
检查是否存在组件覆盖
- 检查是否存在组件覆盖, 对于本错误, 笔者由于marge值设置较小, 导致组件冲突, 适当增大marge值即可。
android:layout_marginRight = 20dp
改为
android:layout_marginRight = 100dp
原因
由错误Could not find method onClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.AppCompatTextView with id 'tv_page’可知程序无法找到 ‘tv_page’, 对于已经设置的组件若后续组件在占据该组件位置, 将会导致该组件被覆盖, 即不可见