按下 MainActivity 中的按钮后,SecondActivity 中的 TextView 变得可见?
TextView from SecondActivity become visible after a button from MainActivity is pressed?
我是 Android Studio Development 的新手,我想知道如何执行此操作,当我单击 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。
谢谢!
基本上,有几种方法可以做到这一点。
- 使用意图传递数据
当然,您将布尔类型或您想要的任何内容传递给此意图,我认为这就是您在这里尝试采用的方法。所以我可以给你举个例子:
在您的第一个 activity 中,您可以这样做,
button.setOnClickListener {
val intent = Intent(this@MainActivity, SecondActivity::class.java).apply {
val status = true
putExtra("Status", status)
}
startActivity(intent)
}
而在您的第二个 activity 中,您需要覆盖 onCreate
来解析您的意图以决定您的文本是否要显示。
val status = intent.extras?.getBoolean("Status")
if(status) {
hideText()
} else {
showText()
}
- 您可以处理的另一种方法是尝试创建
singleton
class 以保持此 class 中的状态,并基于此 singleton
class状态,你可以选择hide/show你的文字。但是,不推荐使用此解决方案。因为全局状态不利于测试,只会污染代码。
我是 Android Studio Development 的新手,我想知道如何执行此操作,当我单击 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。
谢谢!
基本上,有几种方法可以做到这一点。
- 使用意图传递数据 当然,您将布尔类型或您想要的任何内容传递给此意图,我认为这就是您在这里尝试采用的方法。所以我可以给你举个例子: 在您的第一个 activity 中,您可以这样做,
button.setOnClickListener {
val intent = Intent(this@MainActivity, SecondActivity::class.java).apply {
val status = true
putExtra("Status", status)
}
startActivity(intent)
}
而在您的第二个 activity 中,您需要覆盖 onCreate
来解析您的意图以决定您的文本是否要显示。
val status = intent.extras?.getBoolean("Status")
if(status) {
hideText()
} else {
showText()
}
- 您可以处理的另一种方法是尝试创建
singleton
class 以保持此 class 中的状态,并基于此singleton
class状态,你可以选择hide/show你的文字。但是,不推荐使用此解决方案。因为全局状态不利于测试,只会污染代码。