ViewPager+fragment回调Activity

2024-06-22 03:48

本文主要是介绍ViewPager+fragment回调Activity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

业务描述
ViewPage中有四个Fragment,每一个Fragment中有一个按钮,给他门设置一个回调,在主Activity中操作具体的业务

public class CabinKindFragment extends Fragment implements View.OnClickListener{@BindView(R.id.begin)Button btnBegin;//定义用来与外部activity交互,获取到宿主activityprivate OnIsLockListener listterner;// 定义了所有activity必须实现的接口方法private OnIsLockListener onIsLockListener;//认证识别接口//登录按钮回调public interface OnIsLockListener {void onIsLockSuccess();}//设置回调接口public void setOnIsLockListener(OnIsLockListener listener) {this.onIsLockListener = listener;}// 当FRagmen被加载到activity的时候会被回调@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);if(activity instanceof OnIsLockListener) {listterner = (OnIsLockListener)activity; // 获取到宿主activity并赋值} else{throw new IllegalArgumentException("activity must implements FragmentInteraction");}}//把传递进来的activity对象释放掉@Overridepublic void onDetach() {super.onDetach();listterner = null;}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {...//这里写你的fragment布局实现内容return view;}@Overridepublic void onClick(View v) {int id  = v.getId();switch (id) {case R.id.begin:listterner.onIsLockSuccess(); // 执行业务员回调break;}}
}

首先你的activity需要写上implements CabinKindFragment.OnIsLockListener

//实现接口,实现回调
@Override
public void onIsLockSuccess() {//fragment按钮点击则会触发这个回调方法//具体业务操作
}

这篇关于ViewPager+fragment回调Activity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083206

相关文章

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

ViewPager+fragment实现切换页面(一)

如今的很多应用中都是下面有一排按钮,点击可以切换页面,滑动也可以切换页面。下面就来简单的实现这个功能。 思路 首先肯定是会用到viewpager这个控件,为了能够向下兼容,最好用v4包下的viewpager,Activity要继承FragmentActivity 其次用一个集合来存储所有的fragment页面在设置viewpager的适配器时,把存储fragment页面的list集合传入ada

Ajax 解决回调竞争

回调的竞争,即多次快速点击同一按钮导致多个异步的AJAX请求同时返回,导致数据更新顺序混乱。这种情况在异步编程中很常见,特别是前端开发时,AJAX请求的回调并不保证按顺序执行。 $.ajaxSetup() 可以设置全局的 beforeSend 和 complete 回调函数,这样每个 AJAX 请求在发送前和完成后都可以执行相应的逻辑。 let isRequestPending = false

安卓中的fragment与viewPager的使用问题的解决

最近使用viewPager,结合fragment使用,发现fragment的周期将不符合他的原有的周期流程,多个fragment将会产生错位问题。       通过研究相关代码,发现fragment的切换实际调用的函数为setUserVisibleHint,通过在其中重写方法,将会达到fragment正确切换的效果。       public void setUserVisible

Java中将函数作为参数传入方法并回调

用于记录,方便后面cv 定义方法类 import java.util.Timer;import java.util.TimerTask;import java.util.function.Function;public class Utils {public static void reqData(String url, String param,Function<String,St

LeakCanary测试app内存泄露+registerActivityLifecycleCallbacks管理Activity的生命周期

public class MyApplication extends Application {private String tag = "MyApplication";private static Stack<Activity> activityStack;//检测内存泄露private RefWatcher refWatcher;@Overridepublic void onCreate()

android studio怎么修改创建的Activity的模板?

1.找到android studio的安装目录,如下图,找到对应文件,修改EmptyActivity的模板。 2.修改成如下: 3.新建的EmptyActivity的默认代码如下:

【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind 是 C++11 标准库中的一个功能,它允许你“绑定”某些参数到一个函数、成员函数或可调用对象上,从而生成一个新的可调用对象。这种新的可调用对象可以稍后被调用,而且其中一些参数已经被预先设置好了。这在回调函数和异步编程中特别有用。 下面我用一个通俗的例子来解释 std::bind 是如何工作的。 假设场景 假设你有一个家庭厨师,他有一个技能叫做“做饭”。做饭需要两个参数:一

Delphi 中三种回调函数形式解析

Delphi 支持三种形式的回调函数: 全局函数这种方式几乎是所有的语言都支持的,类的静态函数也可以归为此类,它保存的只是一个函数的代码起始地址指针( Pointer )。在 Delphi 中声明一般为: 1 TXXX = procedure / function (参数列表 ) ; 类的成员函数类的成员函数作为回调函数,与全局函数相比,需要关联具体的类的实例,所以它