[转]Android笔记:Fragment与Activity之间的交互

简介:

在Activity中有一个FragmentRight.


step1.首先,为了在Activity中能够使用FragmentRight,写了一条:

1
fragmentRight = (FragmentRight) getFragmentManager().findFragmentById(R.id.fragmentright);


当然,fragmentright.xml就是FragmentRight的布局文件了。

写了这条以后,就可以在Activity中使用FragmentRight实例的方法了


step2.然后,在FragmentRight中我有个按钮,当按它的时候,要触发一些代码。这时,要在FragmentRight中定义一个接口,和一个方法:

1
2
3
4
// Container Activity must implement this interface
public  interface  OnMyButtonClickListener {
public  void  onMyButtonClick(); //接口中定义一个方法
}


当然,之后要在需要的地方调用这个方法。我是在按FragmentRight上那个按钮时调用它。我的按钮就叫testButton.

慢着,接口的方法要被调用前,当然要先声明接口类型的成员变量:

1
2
3
4
5
6
7
private  OnMyButtonClickListener mListener;
testButton.setOnClickListener( new  OnClickListener() {
@Override
public  void  onClick(View v) {
mListener.onMyButtonClick();
}
});


step3.在FragmentRight的onAttach()方法中给mListener这个成员变量赋个值,不然会出讨厌的nullpointerexception哦。

1
2
3
4
5
6
7
8
9
10
11
12
13
@Override
public  void  onAttach(Activity activity)
{
super .onAttach(activity);
try
{
mListener = (OnbtnSendClickListener) activity; //这句就是赋初值了。
}
catch  (ClassCastException e)
{
throw  new  ClassCastException(activity.toString() +  "must implement OnbtnSendClickListener" ); //这条表示,你不在Activity里实现这个接口的话,我就要抛出异常咯。知道下一步该干嘛了吧?
}
}



step4.在Activity中实现这个接口:

...... extends Activity implements OnMyButtonClickListener{......

并且,重写该接口中定义的方法吧:

1
2
3
4
5
@Override
public  void  onMyButtonClick()
{
...... //在这里该干嘛干嘛呗。
}





本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1307721,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
Android开发 开发者 容器
android FragmentManager 删除所有Fragment 重建
通过本文,我们详细介绍了如何使用 `FragmentManager`删除所有Fragment并重建。通过理解和应用这些步骤,可以在实际开发中更灵活地管理Fragment,满足各种应用场景的需求。希望本文能帮助开发者更好地掌握Fragment管理技巧,提高应用开发效率和代码质量。
231 8
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
273 6
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
270 3
|
缓存 前端开发 Android开发
Android实战之如何截取Activity或者Fragment的内容?
本文首发于公众号“AntDream”,介绍了如何在Android中截取Activity或Fragment的屏幕内容并保存为图片。包括截取整个Activity、特定控件或区域的方法,以及处理包含RecyclerView的复杂情况。
264 3
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
165 0
|
Android开发
Android开发 - Fragment与Activity生命周期比较
1. Fragment的生命周期 见下图   2. 与Activity生命周期的对比 见下图   3. 代码场景演示实例 切换到该Fragment: AppListFragment(7649): onAttachAppListFragment(7649): onCreateA...
879 0
|
Android开发
Android开发之Fragment回退栈
在Android开发之Fragment动态使用一文中,说到replace方法切换Fragment,会造成Fragment不断销毁、创建,但是有没有办法实现像Activity一样通过栈的方式来管理Fragment呢?答案是可以的,本文就来探讨一下。
1569 0

热门文章

最新文章