实现fragment往Activity传值
接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。
1、在需要传递数据的一端定义一个接口,接口里面些需要监听的方法以及参数。
2、定义一个的接口类型的变量存储数据。
3、创建一个公共的方法,让外部调用,并且传递接口类型的参数,给其定义的接口类型的数据初始化。
1.自定义接口
public interface RemDataListener {
void remData(List<String> list);
}
2.Activity实现接口 并实现接口中的方法
//需要数据的地方,实现接口 并实现接口中的方法
public class MainActivity extends AppCompatActivity implements RemDataListener {
@Override
public void remData(List<String> list) {
Log.e("======",list.toString());
}
}
2.在Fragment中onAttach 方法中得到activity中实现好的 实例化接口对象
RemDataListener listener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
listener=((MainActivity)getActivity());
}
@Override
public void onClick(View view) {
//item的点击事件
List<String> strings = adapter.removeData();
//数据产生的地方调用接口
listener.remData(strings);
}