Android 在Activity中响应Fragment中的事件
2017-08-09 14:23
330 查看
原址:http://blog.csdn.net/u013003052/article/details/50445354
当我们想要在fragment去执行一些代码,但是这个代码我们想要把它放在activity里面去执行。那么activity里这段代码是如何在fragment中去启动的呢?
使用接口的方法,可以为我们去实现这个功能。以下分为几个步骤去到达这个功能。
① 创建一个interface接口,在里面写上抽象方法
② 在fragment中,声明这个接口
③ activity里implement这个接口,并实现抽象方法。改方法就是我们想要在activity中实现的方法,写上自己详细的代码
④ 在fragment中调用它
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
2
3
4
5
6
1
2
3
4
5
6
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
当我们想要在fragment去执行一些代码,但是这个代码我们想要把它放在activity里面去执行。那么activity里这段代码是如何在fragment中去启动的呢?
使用接口的方法,可以为我们去实现这个功能。以下分为几个步骤去到达这个功能。
① 创建一个interface接口,在里面写上抽象方法
② 在fragment中,声明这个接口
③ activity里implement这个接口,并实现抽象方法。改方法就是我们想要在activity中实现的方法,写上自己详细的代码
④ 在fragment中调用它
①创建一个interface接口
/** * Created by qin on 2016/1/1. * 用于fragment传递事件给activity */ public interface SendMessageCommunitor { /**从fragment发送消息 * @param msg 消息内容 * */ void sendMessage(String msg); }1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
②在fragment中,声明这个接口
//... private SendMessageCommunitor sendMessage; //... @Override public void onAttach(Activity activity) { super.onAttach(activity); sendMessage = (SendMessageCommunitor) activity; }1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
③ activity里implement这个接口,并实现抽象方法
public class MainActivity extends AppCompatActivity implements SendMessageCommunitor { //... @Override public void sendMessage(String msg) { //...写上你想执行的代码 }1
2
3
4
5
6
1
2
3
4
5
6
④ 在fragment中调用它
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendMessage.sendMessage("open"); } }); //...1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
相关文章推荐
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件 .
- Android Fragment---给Activity创建事件回调
- Android Fragment用法之给Activity创建事件回调
- Android深入探究笔记之二 -- 打开一个新的 Activity 并传递参数与如何响应控件的点击事件
- android中在Activity中响应ListView内部按钮的点击事件的两种方法
- 在Activity或Fragment中响应ListView内部按钮的点击事件
- 【android】fragment不响应onActivityResult的问题
- Android使用ListView构造复杂界面,响应点击事件,通过Intent跳转activity
- Fragment监听返回键(Fragment响应Activity的onKeyDown事件)Kotlin版
- 在Activity或者fragment中响应ListView(Adapter)内部按钮的点击事件
- Android Fragment用法之给Activity创建事件回调
- Fragment从入门到精通之Activity中响应Fragment中的事件③
- 在Activity或fragment中响应ListView内部控件的点击事件
- 一、概述 EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间
- android_Activity响应Fragment内容变化
- Android开发:监听当前View的左右滑动事件,并返回给当前的activity或者fragment
- Android Fragment---给Activity创建事件回调
- listView布局中按钮点击事件放到activity或者fragment中响应
- Android中Fragment点击事件的添加(及点击事件无响应的原因)
- 安卓入门 使用android创建一个项目 从启动activity中响应按钮事件 启动另一个activity 并传递参数