我正在尝试使用以下意图代码添加if else语句,以便在显示toast消息后登录成功时重定向 if(password.equals(storedPassword)){但我收到“无法解决构造函数错误。
Intent intent = new Intent(this,HomeActivity.class); startActivity(意向);
if (password.equals(storedPassword)) {
Toast.makeText(MainActivity.this, "Login Successful", Toast.LENGTH_LONG).show();
dialog.dismiss();
} else {
Toast.makeText(MainActivity.this, "Username or Password incorrect.", Toast.LENGTH_LONG).show();
}
}
});
像这样
if (password.equals(storedPassword)) {
Toast.makeText(MainActivity.this, "Login Successful", Toast.LENGTH_LONG).show();
dialog.dismiss();
Intent intent = new Intent(this, HomeActivity.class);
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "Username or Password incorrect.", Toast.LENGTH_LONG).show();
}
}
});
答案 0 :(得分:4)
你是否使用匿名内部类?然后this
引用内部类而不是活动。改为使用它(就像你对吐司一样):
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
答案 1 :(得分:0)
将您的意图定义更改为:
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
我看看你如何调用你的吐司,我推断你的代码行是在内部类中,所以要引用你的活动上下文,你需要使用MainActivity.this
。
答案 2 :(得分:0)
将此替换为当前活动,为了更好的体验,alwyas使用try和catch块来实现此类意图