成功注册到应用程序后,Android Activity 没有变化
Posted
技术标签:
【中文标题】成功注册到应用程序后,Android Activity 没有变化【英文标题】:Android activity is not changing after registering to the application successfully 【发布时间】:2021-11-06 05:51:47 【问题描述】:我创建了一个具有注册活动的应用程序。当我点击应用程序上的注册按钮时,用户的详细信息被插入到数据库中,但活动不会改变。对于应用程序上的登录,活动按预期从登录活动更改为主页活动,但对于注册活动则没有。
代码如下:
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>()
@Override
public void onResponse(String response)
Toast.makeText(register.this, response, Toast.LENGTH_SHORT).show();
if (response.equals("success"))
Toast.makeText(register.this, response, Toast.LENGTH_LONG).show();
btnRegister.setClickable(false);
Intent intent = new Intent(register.this, MainActivity.class);
startActivity(intent);
finish();
else if (response.equals("failure"))
tvStatus.setText("Registration unsuccesful!");
Toast.makeText(register.this, response, Toast.LENGTH_SHORT).show();
【问题讨论】:
确定一下,您确实看到屏幕上出现了一个吐司? @SergioPardoif statement
之前的吐司出现在屏幕上,但if statement
中的吐司却没有。也就是说if statement
里面的代码没有被执行。
第一个 toast 显示的是什么?
@Christopher 它正在显示来自我创建并按预期工作的 php API 的响应。如果注册成功,API 将返回“成功”,否则返回“失败”。问题是 if 语句中的内容不会被执行,因为我不知道为什么。
你能把服务的响应放在这里吗?恰好出现在吐司上的字符串。我觉得这可能是您必须比较忽略大写字母或文本上的一些额外空格。
【参考方案1】:
在我看来,您的回答可能不是您所期望的,我没有使用您使用的 Listener,但通过查看其他一些问题,我发现了这一点:
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
所以请检查这是否适合你,而不是
if (response.equals("success"))
这个:
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success)
else
您可能需要为此添加一个 try/catch。
【讨论】:
以上是关于成功注册到应用程序后,Android Activity 没有变化的主要内容,如果未能解决你的问题,请参考以下文章
android logcat中不显示log.d我的程序代码中包含Log.d(TAG,"activi
登录成功后隐藏登录页面并在android中显示main_activity
Ambiguous method call. Both findViewById (int) in AppCompatActivity and findViewById (int) in Activi