java - 按下 MainActivity 的按钮后,SecondActivity 的 TextView 变得可见?
问题描述
我对 Android Studio 开发非常陌生,我想知道如何做到这一点,当我单击 MainActivity 上的一个按钮时,它会引导我到 secondActivity 文本变得可见(最初 TextView 将不可见,直到 MainActivity 的按钮是按下)
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
String status = "Success!";
intent2.putExtra("Status",status);
startActivity(intent);
}
});
我想为此(在 SecondActivity 页面上)做一个 if-else 语句,如果用户直接转到 SecondActivity,它将不会在那里显示任何文本。但是如果按下 MainAcitivty 页面上的按钮,系统将转到 SecondActivity 并显示 TextView。
谢谢!
解决方案
基本上,有几种方法可以做到这一点。
- 使用意图传递数据当然,您将布尔类型或您想要的任何内容传递给此意图,我认为这是您在这里尝试采用的方法。所以我可以给你举个例子:在你的第一个活动中,你可以做这样的事情,
button.setOnClickListener {
val intent = Intent(this@MainActivity, SecondActivity::class.java).apply {
val status = true
putExtra("Status", status)
}
startActivity(intent)
}
在您的第二个活动中,您需要重写onCreate
以解析您的意图以决定您的文本是否要显示。
val status = intent.extras?.getBoolean("Status")
if(status) {
hideText()
} else {
showText()
}
- 您可以处理的另一种方法是尝试创建
singleton
类以保持该类中的状态,并基于singleton
该类状态,您可以选择隐藏/显示您的文本。但是,此解决方案不是推荐的方法。因为全局状态不利于测试并且只会污染代码。
推荐阅读
- javascript - 与 nodejs express 的 WebSocket 连接
- database - 我正在尝试在 vb.net 中创建一个下一步按钮来浏览我的访问数据库
- ruby-on-rails - 我可以在同一个 postgres 服务器中的 2 个数据库之间进行逻辑复制吗?
- python - 在python中对齐一组痕迹
- java - Spring Boot 2.0.9 和 2.1.0 之间 eclipselink ddl 自动生成问题
- html - react react-bootstrap 按钮无法设置自定义高度。只能用css设置宽度
- python - 如何检查张量 A 的哪些元素也存在于张量 B 中,并创建一个布尔掩码
- reactjs - 我在 React.JS 组件上设置的状态有什么问题?
- python - 如何在 PySide2 中添加边框或设置透明 QLayout?
- javascript - 正确的 javascript 调用以通过 web api 上传文件