当前位置: 首页 > 工具软件 > Viewa > 使用案例 >

Could not find method XXXX(View ) in a parent or ancester Context for Android...解决办法

许高峻
2023-12-01

Could not find method XXXX(View ) in a parent or ancester Context for Android…解决办法

###状况:初次接触安卓开发,有写的不对的还请指教,有LoginAcivity以及RegisterActivity,在LoginAcivity对应的activity_login.xml界面中添加一个按钮btn_register,点击之后跳转到RegisterActivity对应的界面activity_register.xml,结果点击之后报错Could not find method XXXX(View ) in a parent or ancester Context for Android

xml中的按钮定义如下:

<Button
        android:id="@+id/btn_register"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/colorMine"
        android:onClick="doReg"
        android:text="点击注册" />

LoginAcivity中添加按钮点击方法:

public void doReg(View view){
        Intent intent=new Intent(this,RegisterActivity.class);
        startActivity(intent);
    }

结果就一直报错,很长时间解决不了,最后求助同事发现自己的XXXActivity都是继承了AppCompatActivity而不是Activity,于是将对应的xml文件中的Button改成androidx.appcompat.widget.AppCompatButton解决问题

<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_register"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/colorMine"
    android:onClick="doReg"
    android:text="点击注册" />
 类似资料: