按下 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。

谢谢!

基本上,有几种方法可以做到这一点。

  1. 使用意图传递数据 当然,您将布尔类型或您想要的任何内容传递给此意图,我认为这就是您在这里尝试采用的方法。所以我可以给你举个例子: 在您的第一个 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()
}
  1. 您可以处理的另一种方法是尝试创建 singleton class 以保持此 class 中的状态,并基于此 singleton class状态,你可以选择hide/show你的文字。但是,不推荐使用此解决方案。因为全局状态不利于测试,只会污染代码。