###状况:初次接触安卓开发,有写的不对的还请指教,有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="点击注册" />