시도 이용 인터페이스의 값을 설정하려는 다른 단편에 액세스 할 수있다. 예를 들면. Input.class의 onAttach 방법에
public interface OnOutputFragmentTextChanger {
public void onChangeText(String what);
}
다음을 수행하십시오
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception
try {
mCallback = (OnOutputFragmentTextChanger) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnOutputFragmentTextChanger");
}
}
그리고 당신에 mCallback.onChangeText ("Foooo")를 호출 OnClickListener를; 방법 만들고 다음 출력 클래스에
이
public void updateInputView(String what)
{
mTextView.setText(what);
}
다음 방법 onChangeText (문자열 무엇을) 활동에 OnOutputFragmentTextChanger를 구현하고 재정의 :
public class MainActivity extends FragmentActivity implements OnOutputFragmentTextChanger
{
//do somwthing
@Override
public void onChangeText(String what)
{
InputFragment inputfragment = (InputFragment)
getSupportFragmentManager().findFragmentById(R.id.fragment); // or try findFragmentByTag
if (inputfragment != null)
{
inputfragment.updateInputView("some string");
}
}
}
을 당신이 [여기]를 이동해야 생각 (HTTPS ://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=communication%20between%20fragments%20in%20android). – Gunaseelan
@AlexK 예. 의사 소통은 하나에서 다른 조각으로 데이터를 전송하기 위해서만 언급됩니까? – ajay
@ajay : Fragment to Fragment 의사 소통의 철학을 채택하지 마십시오. 'Fragment'는 모듈 식, 자체 포함 및 재사용 가능해야합니다. 어떤 시점에서'Fragment'는 다른'Fragment'의 존재를 결코 알 수 없습니다. 하나의 '단편'에서 다른 단편으로의 모든 의사 소통은 '활동'을 통해 이루어져야합니다. – Squonk