我有两个活动(A 和 B)和一个片段 F 片段 F 包含在活动 B 中 我想将字符串从活动 A 发送到片段 F 怎么做?谢谢!
问问题
9990 次
3 回答
9
这与您在活动之间交换数据几乎相同。您应该只在开始时使用 getActivity() 以便在片段中访问。
检查以下代码:
在活动 A 中:
Intent intent = new Intent(this,ActivityB.class);
intent.putExtra("data",data); //data is a string variable holding some value.
startActivity(intent);
在活动 B 的片段 F 中
String data = getActivity().getIntent().getStringExtra("data");
于 2013-04-25T10:42:45.863 回答
6
首先,您实际上会将该字符串发送到您的活动 B。例如:
Intent intent = new Intent(this, YourActivityClass.class);
intent.putExtra("myString", "this is your string");
startActivity(intent);
然后稍后从您的活动 B 中读取该字符串并在执行片段事务之前注入您的片段。例如:
Bundle args = new Bundle();
args.putString("myString", getIntent().getExtras().getString("myString"))
yourFragment.setArguments(args);
稍后,getArguments()
在您的片段中使用来检索该捆绑包。
或者,在您的片段中使用以下内容直接访问活动意图并获取您所需的值:
String str = getActivity().getIntent().getStringExtra("myString");
有关更多信息,请阅读此。
于 2013-04-25T10:42:53.310 回答
0
在 Fragment.java 文件中添加以下代码,
public static String name= null;
public void setName(String string){
name = string;
}
在要发送字符串的 MainActivity.java 中添加以下代码,
String stringYouWantToSend;
Fragment fragment = new Fragment();
fragment.setName(stringYouWantToSend);
于 2016-04-09T13:52:05.327 回答