android-studio - 如何将对象调用到 if 语句
问题描述
我在下面创建了一个名为“用户”的类,现在在我的主活动中,我试图调用类中的对象来检查用户输入的输入是否正确并与用户对象匹配,如果正确,那么我希望它移动到下一个屏幕。但是当我打开应用程序并输入 user1 正确的详细信息并单击登录按钮时,没有任何反应。我的代码有问题吗?不会出现任何错误来帮助我检测问题所在。下面是我的用户类和主要活动的代码。
public class User {
// Instance variables
static String userName;
static String password;
static String favColor;
// User constructor
public User(String initUserName, String initPassword, String initFavColor) {
userName = initUserName;
password = initPassword;
favColor = initFavColor;
}
public String getUserName(){
return userName;
}
public String getPassword(){
return password;
}
public String getFavColor(){
return favColor;
}
}
logInBt.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
User user1 = new User("Jason", "Sword", "Red");
User user2 = new User("Billy", "Dinosaur", "Blue");
User user3 = new User("Zack", "Elephant", "Black");
User user4 = new User("Trini", "Tiger", "Yellow");
User user5 = new User("Kimberly", "Bird", "Pink");
String userET = userEditText.getText().toString();
String userPassword = passwordEditText.getText().toString();
if(userET.equals(user1.getUserName() + userPassword.equals(user1.getPassword()))){
Intent i = new Intent(getApplicationContext(), MainMenu.class);
startActivity(i);
} else if(userET.equals(user2.getUserName() + userPassword.equals(user2.getPassword()))){
Intent i = new Intent(getApplicationContext(), MainMenu.class);
startActivity(i);
} else {
Toast.makeText(getApplicationContext(), "Incorrect details, Please try again", Toast.LENGTH_SHORT);
}
}
});
解决方案
在您的 if 语句中,您将 userET 与 (user2.getUserName() + "True" or "False") 进行比较
检查这个并对其他人做同样的事情
if(userET.equals(user1.getUserName()) && userPassword.equals(user1.getPassword()))
您不显示任何 Toast 的原因是因为您忘记了 .show()
Toast.makeText(getApplicationContext(), "Incorrect details, Please try again", Toast.LENGTH_SHORT).show();
我建议您使用 Log.d 以获得更好的调试体验 :)
推荐阅读
- javascript - 我可以导入一个 handleChange 函数并绑定它以在任何组件中使用吗?
- uwp - no puedo realizar este efecto parallax de wpf en uwp, alguien me podria orientar a solucionar este inconveniente?
- spring - 找不到适合响应类型的 HttpMessageConverter
- c++ - 两个 C++ 程序之间通过标准 I/O 进行通信
- xml - 如何将 XML 文件与 XSD 架构链接?
- javascript - 如果对象属性键与变量名匹配,为什么在 javascript / typescript 中可以省略对象属性键?
- python - 从 while 循环创建一个列表
- excel - EPPplus中多个表之间的关系?
- reactjs - 尝试在 GitLab 上部署 React.js 项目时出错
- c++ - Makefile - 没有这样的文件或 file.h 目录(找不到解决方案)