我有一个包含两个 fragment 的 Activity,我需要将一个字符串从 FragmentA 传递到 FragmentB。
为了传递数据,我在 FragmentA 中有这个:
Intent intent = new Intent(getActivity(), FragmentB.class);
intent.putExtra("name", "Mark");
startActivity(intent);
为了获取数据,我在 FragmentB 中做了这个
Intent intent = getActivity().getIntent();
Bundle b = intent.getExtras();
if(b!=null)
{
String name =(String) b.get("name");
nameTextView.setText(name);
}
但这行不通。是否有一种特定的方法可以将字符串从一个 fragment 传递到另一个 fragment ?
最佳答案
- 如果 fragment 由相同的 Activity 托管- 您不能将 Intent 转换到 Fragment。 Fragment 作为 Activity 的一部分,它本身不是 Activity。因此,要在 fragment 之间共享一个字符串,您可以在 Activity 中声明一个静态字符串。从 fragment A 访问该字符串以设置值并获取 fragment B 中的字符串值。
- 两个 fragment 都由不同的 Activity 托管- 然后,您可以使用 putExtra 将字符串从 Activity A 的 Fragment A 传递到 Activity B。将该字符串存储在 Activity B 中并在 Fragment B 中使用它。
关于android - 将数据从一个 fragment 传递到另一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568339/