android - Android Studio getIntent 从一个活动但不是从其他活动
问题描述
我有一个问题,无论我搜索什么都找不到答案。所以我有 3 个活动:StartActivity、LoginActivity 和 MainActivity 在 StartActivity 我有 2 个按钮:-登录 - 它将我发送到 LoginActivity - 以访客身份继续 - 它将我发送到 MainActivity 在登录活动中我有:
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
if(loginUser(false)) {
String username = String.valueOf(userName);
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
finish();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
});
在 MainActivity 我有:
private String username = getIntent().getStringExtra("USERNAME");
但是当我尝试以访客身份登录时,字符串用户名没有任何东西可以得到并给我错误。那么,只有当我从 LoginActivity 打开活动并且从 StartActivity 中的 ContinueAsGuest 按钮打开它时不执行任何操作时,如何才能使字符串用户名 getIntent 呢?
解决方案
StartActivity 中的按钮仅将您作为客人,对吗?如果是这样,代码将如下所示
guestBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String username = String.valueOf(userName);
Intent intent = new Intent(StartActivity.this, MainActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
finish();
}
} catch (SQLException e) {
e.printStackTrace();
}
});
推荐阅读
- javascript - 赛普拉斯:无法在测试文件中使用命令行中的 --env 变量
- react-native - 当应用程序在后台运行时使用振动
- performance - 如何计算嵌套循环的时间复杂度,其中第二个限制在第一个循环的变量处具有限制
- visual-studio-code - 如何完全关闭 Emmet 缩写?
- ruby-on-rails - Rails 6 API Rspec 请求测试 - 冲突行为
- java - 如何 setProperty webdriver.chrome.driver,"\..\..\..\") 在 jar 中但在 unix 环境中?
- css - 如何正确覆盖 PrimeNg 表的行样式?
- scala - 在带有水印和窗口聚合的 Spark 结构化流中运行多个查询
- python - 如何在熊猫中按组计算一组行的模式
- azure - 将视频流式传输到 Azure Blob Storage Net.Core 的最佳实践