[rootView is for this fragment and rootView1 is for another fragment
我可以使用给定片段中的其他片段布局。我试过用它。并且当我从其他片段布局的editText中获得价值时,没有出现任何错误。它显示为null。 Plzz解释了该怎么做。
答案 0 :(得分:1)
在Fragment
之间进行通信的原型方法是使用interface
通过附加到的Activity
进行通信。例如(代码改编自Android文档Communicating With Other Fragments):
public class FragmentOne extends Fragment {
FragmentOneCallback mCallback;
// Container Activity must implement this interface
public interface FragmentOneCallback {
public String requestMessageFromFragmentTwo();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mCallback = (FragmentOneCallback) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement FragmentOneCallback");
}
}
}
稍后在您的代码中,您将使用类似myTextView.setText(mCallback.requestMessageFromFragmentTwo())
Activity
的示例实现可能是:
public class MainActivity extends AppCompatActivity implements FragmentOne.FragmentOneCallback {
//...
@Override
public String requestMessageFromFragmentTwo() {
String message = "";
FragmentTwo fragmentTwo = (FragmentTwo) getSupportFragmentManager.findFragmentByTag("fragment_two_tag");
if (fragmentTwo != null) message = fragmentTwo.getMessage();
return message;
}
FragmentTwo
:
public class FragmentTwo extends Fragment {
//...
public String getMessage() {
return "This would be your message!";
}
}
这是一个link to a sample app我为了一个类似的问题而放在一起,可能对你有用。