您的位置:首页 > 移动开发 > Android开发

android Fragment系列学习笔记之五

2013-12-27 22:38 477 查看
一、Fragment中向Activity中传值(续前节)

      在Activity中去获取Fragment中的值,最好的一种方式是在Fragment中去声明一个回调接口,然后在主Activity中去实现这个回调接口。(源代码已经在上一节中给出)


二、前节代码解说:

   (1)首先需要在LeftFragment中声明一个回调接口

/**
* 接口回调
* 定义完接口之后,定义一个方法,这个方法没有返回值,
* 此方法需要传递一个CallBack进来,
* 调用这个方法的时候,Fragment中EditText实例化的位置就移到下面的这个方法中。
*/
public void getEditText(CallBack callBack){
String etFragmentValue = etFrgmentValue.getText().toString();
//将Fragment中获取到的值放到回调函数的参数中去
callBack.getResult(etFragmentValue);
}


  (2)在LeftFragment中声明一个方法去获取Fragment中控件的值,并将控件的值作为回调接口中方法的形参传进去,完成接口方法的调用。

   

/**
* 声明一个接口为CallBack
* 这一个接口有一个方法,叫做getResult(),我们需要给他传递一个值回来。
* 但是我们得在Fragment里面声明一个EditText
*/
public interface CallBack{
public void getResult(String result);
}


     (3)getEditText()方法属于LeftFragment,如果我们想要在Activity中调用这个方法,我们就必须要new LeftFragment()出来,但是不建议这样写。

   (4)在Activity中获取Fragment对象实例并调用Fragment中提供的回调方法

      

leftFragment.getEditText(new LeftFragment.CallBack() {
@Override
public void getResult(String result) {
Toast.makeText(getApplicationContext(),result,Toast.LENGTH_LONG).show();
}
});


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Fragment