假设目前有一个LefFragment和一个RightFragment,现要将LeftFragment里的值传到RightFragment中,步骤如下:
1、自定义一个传值接口(可以在LefFragment中)
interface PassValue{
void setName(String name);
}
2、声明传值接口类型的对象(在LefFragment中)
private PassValue passValue;
3、给传值接口的类型对象提供setter方法(可以在LefFragment中)
public void setPassValue(PassValue passValue){
this.passValue=passValue;
}
4、在传值的目标Fragment中调用setter方法,相当于注册一个监听器(在RightFragment中)
leftFragment.setPassValue(new LeftFragment.PassValue() {
@Override
public void setName(String name) {
textView.setText(name);
}
});
5、在需要传值的地方调用PassValue接口类型的对象passValue.setName(需要传的值)(在LefFragment中)
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
String name=data.get(position);
passValue.setName(name);
}