gpt4 book ai didi

java - 如何设置来自另一个 Activity 类的文本

转载 作者:行者123 更新时间:2023-11-29 20:56:14 34 4
gpt4 key购买 nike

我被这个问题困了太久了。我认为这很简单,但我是新手 android 开发人员,因此非常感谢您的帮助。

我有两个 Activity 。我的主要 Activity 布局有一个 TextView 和一个按钮。我想要做的是实现按钮以更改来自另一个 Activity 类(Btn 类)的 TextView 的文本。

这是我的 Btn 类

public class Btn extends Activity implements OnClickListener {
Button btn;
TextView textBox;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
textBox = (TextView)findViewById(R.id.address);
btn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
textBox.setText("Test Test");
}

}

现在编译并工作正常,但是当我按下按钮时没有任何反应。我想知道按下按钮时如何更改 TextView 的文本。我知道如何在我的主要 Activity 课上做到这一点,但我想从另一个课上做到这一点。

最佳答案

即使你真的是一个彻头彻尾的新手,在Activity之后第二个要学的就是Intent。一个 Activity 不需要从另一个 Activity 检索对象的数据和属性并将更改直接发送给它们,这对运行时来说是不安全的,因为您不能 100% 确定后台 Activity 不会被系统杀死。因此发明 Intents 是为了调用 Activity 并将数据传递给它们。 Android Coders 提供的代码以这种方式工作。首先,您创建一个 Intent 对象,放入额外的数据(例如您要设置到另一个 Activity 的 TextView 的文本),最后启动一个负责此类 Intent 的 Activity。在这段代码中,Intent是显式的,也就是说应该调用某个包的某个Activity。在此 Activity 中,有一个代码检查是否有 Intent 被调用,从中读取额外数据(您的文本)并最终调用 setText()。根据数据和操作的类型,还有隐式 Intent 。系统可以让您在设备上存在的所有包的所有 Activity 之间进行选择,它可以处理您提供给 Intent 的数据类型。没有什么私有(private)的,但是如果你不能理解 Intents,你就不会理解 Android。非常努力地尝试。

关于java - 如何设置来自另一个 Activity 类的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27646251/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com