1.设接口在监听的fragment
2.activity实现接口
3.设置更新界面方法在fragment
左边改变右边也改变,用的是单例模型
1.LeftFragment 里设置接口,2.onAttach实例化接口对象,onDetach放开接口对象(mCallBacks = null),3.在要改变RightfragmentUI的地方用接口的方法
private CallBacks mCallBacks;
public interface CallBacks{
void updateEdit();
};
@Override
public void onAttach(Context context) {
super.onAttach(context);
mCallBacks = (CallBacks) context;
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
TextContent.get().setStringContent(s.toString());
mCallBacks.updateEdit();
}
@Override
public void onDetach() {
super.onDetach();
mCallBacks = null;
}
}
在对应的activity里实现接口,找到要改的fragment,调用改变UI的方法
public class MainActivity extends AppCompatActivity implements LeftFragment.CallBacks
@Override
public void updateEdit() {
RightFragment rf = (RightFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_right_container);
rf.updateRightEditor();
}
要改变UI的fragment写更新界面的方法
class RightFragment
public void updateRightEditor() {
mEditRight.setText(TextContent.get().getStringContent());
}