gpt4 book ai didi

android - 如何从 Activity 中更改 fragment textView 文本

转载 作者:IT老高 更新时间:2023-10-28 21:56:12 25 4
gpt4 key购买 nike

我找不到如何从 Activity 更改 fragment 的 textview。我有 4 个文件:

MainActivity.java
activity_main.xml
FragmentClass.java
frag_class.xml

frag_class.xml 有 textView,我想从 MainActivity.java 更改文本。FragmentClass 扩展了 Fragment,这个 Fragment 显示在 MainActivityFragmentClass 有:

public void changeText(String text){
TextView t = (TextView) this.getView().findViewById(R.id.tView);
t.setText(text);
}

在 MainActivity 我试过这个:

FragmentClass fc = new FragmentClass();
fc.changeText("some text");

但遗憾的是,这段代码在 fc.changeText("some text"); 处给了我 NullPointerException我也尝试过直接从 MainActivity 更改文本:

 TextView t = (TextView) this.getView().findViewById(R.id.tView);
t.setText(text);

失败了。

[编辑]完整代码是here

最佳答案

你可以通过使用找到Fragment的实例,

对于支持库,

YourFragment fragment_obj = (YourFragment)getSupportFragmentManager().
findFragmentById(R.id.fragment_id);

否则

YourFragment fragment_obj = (YourFragment)getFragmentManager().
findFragmentById(R.id.fragment_id);

然后在 Fragment 中创建一个方法来更新您的 TextView 并使用 fragment_obj 调用该方法,例如,

fragment_obj.updateTextView();

关于android - 如何从 Activity 中更改 fragment textView 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295101/

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