(1).取得对象
/*
* 点击该Fragment的button按钮,将该button的text设置为另一个fragment中Edittext的文本值
*/
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.list, null);
final Button button = (Button) view.findViewById(R.id.confirm);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//通过FragmentManager找到另一个fragment中的edittext对象,并取得text内容
EditText editText = (EditText)(getFragmentManager().findFragmentByTag("left").getView().findViewById(R.id.name));
button.setText(editText.getText().toString());
}
});
return view;
}
(2).通回掉函数
public class MainActivity extends Activity {
private FragmentManager manager;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RightFragment rightFrag = (RightFragment) (getFragmentManager().findFragmentByTag("right"));
/*
* 通过set方法,向其传递一个实例化对象,由于rightFrag.set()方法内部执行RightFragment.CallBack.get()方法,完成了参数的传递
*/
rightFrag.set(new RightFragment.CallBack() {
@Override
public void get(String str) {
button.setText(str);
}
});
}
});
}
}
public class RightFragment extends ListFragment {
private LoaderManager manager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
manager = getLoaderManager();
}
/*
* 点击该Fragment的button按钮,将该button的text设置为另一个fragment中Edittext的文本值
*/
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.list, null);
return view;
}
/**
* 通过调用该方法,接收一个回掉函数对象,callBack.get(str);
* @param callBack
*/
public void set(CallBack callBack) {
EditText editText = (EditText) getView().findViewById(R.id.name);
callBack.get(editText.getText().toString());
}
/*
* 回掉接口
*/
interface CallBack {
public void get(String str);
}
}










