如何从Activity中的片段中获取片段的对象

时间:2014-11-27 06:20:44

标签: android android-fragments

我拥有什么

  • 我有一项活动
  • MainActivity.java在这个活动中,我有一个 片段(MainFragment.java
  • MainFragment.java我有两个子片段ChildOne.javaChildTwo.java
  • 我在ChildOne.java
  • 中有一个editText

我想做什么:

  • 我需要从ChildOne.java的editText中获取值 ChildTwo.java
  • 如何实现这个目标!

3 个答案:

答案 0 :(得分:0)

您在Fragment A中定义了一个接口,并让您的Activity实现该接口。现在,您可以在Fragment中调用interface方法,并且您的Activity将接收该事件。

点击此链接Basic Communication between two fragments

希望这个答案是有用的朋友:)

答案 1 :(得分:0)

你可以通过多种方式实现这一目标,但我会假设两个片段同时显示。

ChildTwo使用getParentFragment获取MainFragment

MainFragment parent = (MainFragment) getParentFragment();
String edit_text_value = parent.getChildOneText();

在您的MainFragment中,您需要一个ChildOne片段的参考对象。

public String getChildOneText()
{
     return mFirstFragment.getEditTextValue();
}

最后在您的ChildOne片段中创建一个返回EditText

的方法
public String getEditTextValue()
{
   return my_edit.getText().toString();
}

希望它有所帮助!

答案 2 :(得分:0)

您可以在mainActivity中创建一个函数,并在其中创建一个包含值的变量。当你想保存editText的数据时调用该函数,并且可以创建一个函数来获取MainActivity中的数据。称这些函数为 -

((Home) getActivity()).shareData("example string"); ((Home) getActivity()).receiveData("example string");

可以检查this answerthis one