gpt4 book ai didi

java - 我如何从 Activity 中更改 fragment 的 TextView 文本

转载 作者:行者123 更新时间:2023-11-29 03:17:37 25 4
gpt4 key购买 nike

我在主要 Activity 中动态添加了 fragment (从 secfrag.xml 扩展而来)。我的主要 Activity 中有两个按钮。一个用于添加 fragment ,另一个用于更改 fragment 的文本。我已成功将 fragment 添加到我的 Activity 中,但我无法更改 fragment 的 TextView 文本。我怎样才能做到这一点。

public class MyActivity extends ActionBarActivity {
Button addFragment;
Button changeFragText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
addFragment = (Button) findViewById(R.id.mybtn);
changeFragText = (Button) findViewById(R.id.mybtn2);



addFragment.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View view) {
Secfragjava secfragjava = new Secfragjava();
getFragmentManager().beginTransaction().add(R.id.mainholder, secfragjava).commit();

}


});

changeFragText.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View view) {
//how can i have the fragment and change its textview
TextView frv=(TextView) getFragmentManager().findFragmentById(R.id.container).getView().findViewById(R.id.mysecText);
frv.setText("raton");
}
});

}

最佳答案

您应该在 fragment 内创建一个方法来更改文本。

例如

public void changeText(){
//this textview should be bound in the fragment onCreate as a member variable
TextView frv=(TextView) getView().findViewById(R.id.mysecText);
frv.setText("raton");
}

然后在您的 onClickListener 中您可以调用该方法:

((Secfragjava)getFragmentManager().findFragmentById(R.id.container)).changeText();

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

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