use*_*868 4 android android-intent android-fragments android-activity
我有两个活动(A和B)和一个片段F片段F包含在活动B中我想将字符串从活动A发送到片段F怎么能这样做?谢谢!
它与您在活动之间交换数据几乎相同.你应该在开头使用getActivity()来访问片段.
检查以下代码:
在活动A中:
Intent intent = new Intent(this,ActivityB.class);
intent.putExtra("data",data); //data is a string variable holding some value.
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在活动B的片段F中
String data = getActivity().getIntent().getStringExtra("data");
Run Code Online (Sandbox Code Playgroud)
首先,您实际上会将该字符串发送到您的活动B.例如:
Intent intent = new Intent(this, YourActivityClass.class);
intent.putExtra("myString", "this is your string");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
然后在执行fragment-transaction之前从活动B中读取该字符串并注入到您的片段中.例如:
Bundle args = new Bundle();
args.putString("myString", getIntent().getExtras().getString("myString"))
yourFragment.setArguments(args);
Run Code Online (Sandbox Code Playgroud)
稍后,getArguments()在您的片段中使用以检索该捆绑包.
或者,在片段中使用以下内容直接访问活动意图并获取所需的值:
String str = getActivity().getIntent().getStringExtra("myString");
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请阅读此内容.