Android Studio中点击注册按钮返回启动页无报错问题求助
点击注册按钮返回启动页而非跳转注册页的问题排查与修复
我看到你遇到了点击登录页的“New Member? REGISTER”按钮后,没有跳转到注册页反而回到启动页的问题,而且Logcat没显示明显错误。结合你给出的代码,我发现了两个关键的ID匹配错误,这正是导致问题的核心原因:
问题1:登录按钮ID引用不匹配
在Login.java中你用以下代码获取登录按钮:
login_btn = findViewById(R.id.login_btn);
但在activity_login.xml里,登录按钮的实际ID是btnLogin:
<Button android:id="@+id/btnLogin" android:layout_width="match_parent" android:layout_height="wrap_content" ... android:text="Log In" />
这会导致login_btn变量为null,后续创建过渡动画的Pair数组时使用这个null对象,会引发隐性异常,直接打断页面跳转流程。
问题2:标语文本View的ID缺失
在Login.java中你尝试获取ID为slogan_name的TextView:
sloganText = findViewById(R.id.slogan_name);
但在activity_login.xml里,对应“Sign in to continue”的TextView并没有设置这个ID:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:transitionName="logo_desc" android:text="Sign in to continue" android:textSize="18sp"/>
这个变量同样会是null,在过渡动画的Pair数组中使用null的View会导致动画初始化失败,最终让页面跳转失败,退回到启动页。
修复步骤
修正登录按钮的ID引用
在Login.java中把获取登录按钮的代码改成:login_btn = findViewById(R.id.btnLogin);给标语TextView添加正确的ID
修改activity_login.xml里的标语TextView,补充ID属性:<TextView android:id="@+id/slogan_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:transitionName="logo_desc" android:text="Sign in to continue" android:textSize="18sp"/>
做完这两处修改后,重新运行项目,点击注册按钮应该就能正常跳转到注册页面了。另外,建议你可以在callRegister的点击事件里加上日志输出,方便后续快速排查问题,比如:
Log.d("LoginActivity", "Register button clicked successfully");
这样可以直观确认按钮点击事件是否被正常触发。
内容的提问来源于stack exchange,提问作者Annie
相关产品推荐
相关产品推荐

