CN107908443A - 一种事件监听方法、智能设备及存储介质 - Google Patents
一种事件监听方法、智能设备及存储介质 Download PDFInfo
- Publication number
- CN107908443A CN107908443A CN201710973641.9A CN201710973641A CN107908443A CN 107908443 A CN107908443 A CN 107908443A CN 201710973641 A CN201710973641 A CN 201710973641A CN 107908443 A CN107908443 A CN 107908443A
- Authority
- CN
- China
- Prior art keywords
- control
- controls
- recyclerview
- event
- current page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种事件监听方法、智能设备及存储介质。本发明中智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件,在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。本发明中通过先遍历到RecyclerView控件,再对RecyclerView控件进行预设事件监听函数的添加,实现了对于RecyclerView控件的事件的监听,克服了当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种事件监听方法、智能设备及存储介质。
背景技术
用户在使用基于安卓(Android)系统的智能设备时,比如,智能手机或平板电脑等设备,为了实时地确定用户当前的操作行为,智能设备需要具备监听点击事件的功能。其中,在Android系统的发展过程中,RecyclerView控件作为Android系统中原有的ListView控件的升级版而被人们所运用,但是,监听RecyclerView控件与ListView控件的点击事件在实现方式上存在差异。
这是因为,RecyclerView控件没有具备ListView控件中的setOnItemClickListener()方法,所以,在实现对于RecyclerView控件的监听时需要使用其他方式,比如,其一,可通过在创建ItemView时添加点击接口以实现回调,但是,在进行点击事件的埋点以获取统计数据时ItemView是无法获取的;其二,可通过反射机制以获取到所有控件的点击信息,但是,基于反射机制在页面的跳转过程将存在控件信息的缺失,所以,RecyclerView控件也不能进行监听;其三,也可通过AspectJ来找到控件的点击信息,但是,由于RecylerView控件没有setOnItemClickListener()方法,也不可对RecyclerView控件进行事件监听,其中,AspectJ是Java语言的一个面向切面编程(Aspect OrientedProgramming,AOP)实现。所以,当前存在不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种事件监听方法、智能设备及存储介质,旨在解决当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
为实现上述目的,本发明提供一种事件监听方法,所述方法包括以下步骤:
智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件;
在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。
优选地,所述智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件,具体包括:
智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历;
判断遍历到的控件是否为RecyclerView控件;
相应地,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之后,所述方法还包括:
清除获取到的当前页面的各控件。
优选地,所述智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历之前,所述方法还包括:
对预设应用程序进行生命周期函数的注册;
相应地,所述智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历,具体包括:
智能设备在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件;
对获取到的当前页面的各控件进行遍历。
优选地,所述智能设备在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件,具体包括:
智能设备在接收到所述预设应用程序的开启指令时,获取当前窗口,并获取所述当前窗口的根视图;
根据所述根视图查找到当前页面的各控件。
优选地,所述清除获取到的当前页面的各控件,具体包括:
在接收到应用程序切换指令时,回调所述生命周期函数中的第二子函数,以清除获取到的当前页面的各控件,所述应用程序切换指令用于切换所述预设应用程序。
优选地,所述智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件,具体包括:
智能设备遍历当前页面的各控件,判断遍历到的控件是否为ViewGroup控件;
对遍历到的ViewGroup控件进行重新遍历,判断遍历到的ViewGroup控件是否为RecyclerView控件。
优选地,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之后,所述方法还包括:
通过所述预设事件监听函数进行点击事件的监听;
在监听到点击事件时,识别所述点击事件的动作类型;
在所述点击事件的动作类型为Action Up动作时,再次执行所述通过所述预设事件监听函数进行点击事件的监听的步骤。
优选地,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之前,所述方法还包括:
将监听器添加至所述预设事件监听函数中,以获取新的预设事件监听函数。
此外,为实现上述目的,本发明还提供一种智能设备,所述智能设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的事件监听程序,所述事件监听程序配置为实现所述事件监听方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有事件监听程序,所述事件监听程序被处理器执行时实现所述的事件监听方法的步骤。
在发明中通过先遍历到RecyclerView控件,再对RecyclerView控件进行预设事件监听函数的添加,实现了对于RecyclerView控件的事件的监听,克服了当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的智能设备结构示意图;
图2为本发明事件监听方法第一实施例的流程示意图;
图3为本发明事件监听方法第二实施例的流程示意图;
图4为本发明事件监听方法第三实施例的流程示意图;
图5为本发明事件监听方法第四实施例的流程示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的智能设备结构示意图。
如图1所示,该智能设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
所述智能设备为基于Android系统的电子设备,可为智能手机或平板电脑等设备。
本领域技术人员可以理解,图1中示出的结构并不构成对智能设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及事件监听程序。
在图1所示的智能设备中,网络接口1004主要用于连接服务器,与所述服务器进行数据通信;用户接口1003主要用于连接用户设备,与用户设备进行数据通信;所述智能设备通过处理器1001调用存储器1005中存储的事件监听程序,并执行以下操作:
遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件;
在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
获取当前页面的各控件,对获取到的当前页面的各控件进行遍历;
判断遍历到的控件是否为RecyclerView控件;
相应地,还执行以下操作:
清除获取到的当前页面的各控件。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
对预设应用程序进行生命周期函数的注册;
相应地,还执行以下操作:
在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件;
对获取到的当前页面的各控件进行遍历。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
在接收到所述预设应用程序的开启指令时,获取当前窗口,并获取所述当前窗口的根视图;
根据所述根视图查找到当前页面的各控件。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
在接收到应用程序切换指令时,回调所述生命周期函数中的第二子函数,以清除获取到的当前页面的各控件,所述应用程序切换指令用于切换所述预设应用程序。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
遍历当前页面的各控件,判断遍历到的控件是否为ViewGroup控件;
对遍历到的ViewGroup控件进行重新遍历,判断遍历到的ViewGroup控件是否为RecyclerView控件。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
通过所述预设事件监听函数进行点击事件的监听;
在监听到点击事件时,识别所述点击事件的动作类型;
在所述点击事件的动作类型为Action Up动作时,再次执行所述通过所述预设事件监听函数进行点击事件的监听的步骤。
进一步地,处理器1001可以调用存储器1005中存储的事件监听程序,还执行以下操作:
将监听器添加至所述预设事件监听函数中,以获取新的预设事件监听函数。
在本实施例中通过先遍历到RecyclerView控件,再对RecyclerView控件进行预设事件监听函数的添加,实现了对于RecyclerView控件的事件的监听,克服了当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
基于上述硬件结构,提出本发明事件监听方法的实施例。
参照图2,图2为本发明事件监听方法第一实施例的流程示意图。
在第一实施例中,所述事件监听方法包括以下步骤:
步骤S10:遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件;
可以理解的是,由于现有的方式监听不到RecyclerView控件的事件,为了实现对于RecyclerView控件的事件的监听,将先对RecyclerView控件进行遍历查找,以确定各控件中的RecyclerView控件。
步骤S20:在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。
可以理解的是,在先查找到RecyclerView控件后,为了实现在后续的使用过程中可以监听到RecyclerView控件的点击事件,可在查找到的RecyclerView控件上添加预设事件监听函数,常见的预设事件监听函数可为addOnItemTouchListener()函数,在具体实现中为:recyclerView.addOnItemTouchListener()。
进一步地,为了进行点击事件的监听,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之前,将监听器添加至所述预设事件监听函数中,以获取新的预设事件监听函数。
在具体实现中,由于进行事件监听的方式存在多种,为了通过预设事件监听函数进行点击事件的监听,可在预设事件监听函数中添加一个监听器,常见的点击事件监听器可为onItemClick()。其中,onItemClick()中的参数view为当前点击的Item的View的句柄,而参数position为当前点击的Item在适配器中的位置。所以,通过该监听器可以更加准确地确定当前发生的点击事件,相关代码如下:
@Override
public void onItemClick(View view,int position){
}
在本实施例中通过先遍历到RecyclerView控件,再对RecyclerView控件进行预设事件监听函数的添加,实现了对于RecyclerView控件的事件的监听,克服了当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
参照图3,图3为本发明事件监听方法第二实施例的流程示意图,基于上述图2所示的实施例,提出本发明事件监听方法的第二实施例。
在第二实施例中,步骤S10,具体包括:
步骤S101:获取当前页面的各控件,对获取到的当前页面的各控件进行遍历;
可以理解的是,为了对当前页面的全部控件进行遍历以查找到RecyclerView控件,可先获取到当前页面的各控件,并对获取到的各控件进行遍历。
步骤S102:判断遍历到的控件是否为RecyclerView控件;
在步骤S20之后,所述方法还包括:
步骤S30:清除获取到的当前页面的各控件。
应当理解的是,在当前页面的各控件中查找到RecyclerView控件,并对RecyclerView控件完成预设事件监听函数的添加后,但是,由于之前已获取到了当前页面的全部控件,为了减轻内存负担,同时,也考虑到可能出现的内存泄露的情况,可清除已获取到的当前页面的各控件。
在本实施例中通过先获取当前页面的各控件再进行控件遍历,便于进行RecyclerView控件的查找操作,同时,在完成预设事件监听函数的添加后,对获取到的各控件进行及时清除,可以较好地防止内存泄露。
参照图4,图4为本发明事件监听方法第三实施例的流程示意图,基于上述图3所示的实施例,提出本发明事件监听方法的第三实施例。
在第三实施例中,步骤S101之前,所述方法还包括:
步骤S101′:对预设应用程序进行生命周期函数的注册;
应当理解的是,可基于各应用程序的运行状态而更加灵活地监听点击事件,为了确定应用程序的运行状态,常见的方式为,可通过Application.ActivityLifecycleCallbacks()以实时地跟踪各应用程序的运行状态,从创建到最终销毁。其中,为了实现上述对于预设应用程序的运行状态的跟踪,在进行运行状态的确认与RecyclerView控件的查找之前,将先对预设应用程序进行生命周期函数的注册,相关代码如下:
Application app=(Application)context.getApplicationContext();
app.registerActivityLifecycleCallbacks();
进一步地,步骤S101,具体包括:
步骤S1011:在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件;
可以理解的是,为了更加有效率地进行各控件的遍历,可在开启预设应用程序后再进行预设应用程序的点击事件的监听,在预设应用程序未开启或用户未使用该预设应用程序时,可不必监听该点击事件,通过规定在开启预设应用程序后再进行事件监听,可以较好地规避无效的监听过程。
在具体实现中,在预设应用程序注册生命周期函数后,若该预设应用程序被用户开启进行使用状态后,将回调生命周期函数中的第一子函数即onActivityStarted(),因为,onActivityStarted()在预设应用程序在进入开启状态时将被自动调用。并且,在预设应用程序进行开启状态时,将自动获取当前页面的各控件。
进一步地,为了在预设应用程序在进入开启状态时查找到各控件,所述在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件,具体包括,在接收到所述预设应用程序的开启指令时,获取当前窗口,并获取所述当前窗口的根视图;根据所述根视图查找到当前页面的各控件。
可以理解的是,可先通过先获取当前窗口,进一步地获取当前窗口的根视图的方式来查找当前页面的各控件,相关代码如下:
步骤S1012:对获取到的当前页面的各控件进行遍历。
进一步地,可在预设应用程序结束使用时及时地进行各控件的清除,所述清除获取到的当前页面的各控件,具体包括,在接收到应用程序切换指令时,回调所述生命周期函数中的第二子函数,以清除获取到的当前页面的各控件,所述应用程序切换指令用于切换所述预设应用程序。
在具体实现中,比如,在用户将当前使用的预设应用程序进行了了切换或者关闭了当前使用的预设应用程序,可无需再监听与该预设应用程序相关的控件的点击事件。其中,由于切换或关闭该预设应用程序,将自动调用生命周期函数中的第二子函数即onActivityPaused(),以及时地清楚获取到的各控件,以规避内存泄露。
在本实施例中通过调用生命周期函数中的各子函数以灵活地进行控件的遍历,可以规避掉无效的监听动作,并通过及时地确认预设应用程序的当前运行状态,可以更有效率地查找到RecyclerView控件。
参照图5,图5为本发明事件监听方法第四实施例的流程示意图,基于上述图2所示的实施例,提出本发明事件监听方法的第四实施例。
在第四实施例中,步骤S10,具体包括:
步骤S101″:遍历当前页面的各控件,判断遍历到的控件是否为ViewGroup控件;
可以理解的是,为了便于遍历到RecyclerView控件,可先遍历当前页面的各控件以查找到ViewGroup控件。其中,ViewGroup控件为容纳组件的容器,通过先查找到ViewGroup控件,再进一步地判断遍历到的ViewGroup控件是否为RecyclerView控件,可缩小遍历RecyclerView控件的遍历范围,相关代码如下:
RecyclerView recyclerView=(RecyclerView)vg;
步骤S102′:对遍历到的ViewGroup控件进行重新遍历,判断遍历到的ViewGroup控件是否为RecyclerView控件。
进一步地,为了监听到更为有效的点击事件,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之后,通过所述预设事件监听函数进行点击事件的监听;在监听到点击事件时,识别所述点击事件的动作类型;在所述点击事件的动作类型为Action Up动作时,再次执行所述通过所述预设事件监听函数进行点击事件的监听的步骤。
在具体实现中,由于点击事件(MotionEvent)存在多种动作类型,包括ActionDown、Action Move和Action Up等,其中,Action Down表示用户按下屏幕的动作,ActionMove表示用户在屏幕上进行滑动的动作以及Action Up表示用户离开屏幕的动作,所以,无需对Action Up动作进行监听。
可以理解的是,比如,用户的手指在离开智能设备的屏幕后,智能设备可探测到该离开屏幕的点击事件即Action Up动作,若识别出该点击事件的时间类型为Action Up时,将再次进行点击事件的监听,相关代码如下:
在本实施例中通过对控件的二次遍历,以缩小RecyclerView控件的遍历范围,可以较好地提高遍历行为的稳定性以及准确率;同时,通过对于点击事件的动作类型进行预先判断,可以较好地提高事件监听的效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有事件监听程序,所述事件监听程序被处理器执行时实现如下操作:
遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件;
在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
获取当前页面的各控件,对获取到的当前页面的各控件进行遍历;
判断遍历到的控件是否为RecyclerView控件;
相应地,还实现如下操作:
清除获取到的当前页面的各控件。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
对预设应用程序进行生命周期函数的注册;
相应地,还实现如下操作:
在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件;
对获取到的当前页面的各控件进行遍历。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
在接收到所述预设应用程序的开启指令时,获取当前窗口,并获取所述当前窗口的根视图;
根据所述根视图查找到当前页面的各控件。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
在接收到应用程序切换指令时,回调所述生命周期函数中的第二子函数,以清除获取到的当前页面的各控件,所述应用程序切换指令用于切换所述预设应用程序。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
遍历当前页面的各控件,判断遍历到的控件是否为ViewGroup控件;
对遍历到的ViewGroup控件进行重新遍历,判断遍历到的ViewGroup控件是否为RecyclerView控件。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
通过所述预设事件监听函数进行点击事件的监听;
在监听到点击事件时,识别所述点击事件的动作类型;
在所述点击事件的动作类型为Action Up动作时,再次执行所述通过所述预设事件监听函数进行点击事件的监听的步骤。
进一步地,所述事件监听程序被处理器执行时还实现如下操作:
将监听器添加至所述预设事件监听函数中,以获取新的预设事件监听函数。
在本实施例中通过先遍历到RecyclerView控件,再对RecyclerView控件进行预设事件监听函数的添加,实现了对于RecyclerView控件的事件的监听,克服了当前存在的不能较好地实现对RecyclerView控件的事件进行监听的技术问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种事件监听方法,其特征在于,所述方法包括以下步骤:
智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件;
在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数,所述预设事件监听函数用于对RecyclerView控件进行事件的监听。
2.如权利要求1所述的事件监听方法,其特征在于,所述智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件,具体包括:
智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历;
判断遍历到的控件是否为RecyclerView控件;
相应地,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之后,所述方法还包括:
清除获取到的当前页面的各控件。
3.如权利要求2所述的事件监听方法,其特征在于,所述智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历之前,所述方法还包括:
对预设应用程序进行生命周期函数的注册;
相应地,所述智能设备获取当前页面的各控件,对获取到的当前页面的各控件进行遍历,具体包括:
智能设备在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件;
对获取到的当前页面的各控件进行遍历。
4.如权利要求3所述的事件监听方法,其特征在于,所述智能设备在接收到所述预设应用程序的开启指令时,回调所述生命周期函数中的第一子函数,以获取当前页面的各控件,具体包括:
智能设备在接收到所述预设应用程序的开启指令时,获取当前窗口,并获取所述当前窗口的根视图;
根据所述根视图查找到当前页面的各控件。
5.如权利要求3所述的事件监听方法,其特征在于,所述清除获取到的当前页面的各控件,具体包括:
在接收到应用程序切换指令时,回调所述生命周期函数中的第二子函数,以清除获取到的当前页面的各控件,所述应用程序切换指令用于切换所述预设应用程序。
6.如权利要求1至5中任一项所述的事件监听方法,其特征在于,所述智能设备遍历当前页面的各控件,判断遍历到的控件是否为RecyclerView控件,具体包括:
智能设备遍历当前页面的各控件,判断遍历到的控件是否为ViewGroup控件;
对遍历到的ViewGroup控件进行重新遍历,判断遍历到的ViewGroup控件是否为RecyclerView控件。
7.如权利要求1至5中任一项所述的事件监听方法,其特征在于,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之后,所述方法还包括:
通过所述预设事件监听函数进行点击事件的监听;
在监听到点击事件时,识别所述点击事件的动作类型;
在所述点击事件的动作类型为Action Up动作时,再次执行所述通过所述预设事件监听函数进行点击事件的监听的步骤。
8.如权利要求1至5中任一项所述的事件监听方法,其特征在于,所述在遍历到的控件为RecyclerView控件时,对遍历到的控件添加预设事件监听函数之前,所述方法还包括:
将监听器添加至所述预设事件监听函数中,以获取新的预设事件监听函数。
9.一种智能设备,其特征在于,所述智能设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的事件监听程序,所述事件监听程序被所述处理器执行时实现如权利要求1至8中任一项所述的事件监听方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有事件监听程序,所述事件监听程序被处理器执行时实现如权利要求1至8中任一项所述的事件监听方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710973641.9A CN107908443A (zh) | 2017-10-10 | 2017-10-10 | 一种事件监听方法、智能设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710973641.9A CN107908443A (zh) | 2017-10-10 | 2017-10-10 | 一种事件监听方法、智能设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908443A true CN107908443A (zh) | 2018-04-13 |
Family
ID=61840587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710973641.9A Pending CN107908443A (zh) | 2017-10-10 | 2017-10-10 | 一种事件监听方法、智能设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908443A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647072A (zh) * | 2018-05-04 | 2018-10-12 | 武汉极意网络科技有限公司 | 一种事件监听的方法、装置及设备 |
CN108874569A (zh) * | 2018-05-31 | 2018-11-23 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN109710415A (zh) * | 2018-12-29 | 2019-05-03 | 乐蜜有限公司 | 调用弹窗控件的处理方法、装置及电子设备 |
CN109947617A (zh) * | 2019-02-25 | 2019-06-28 | 努比亚技术有限公司 | 一种监听应用界面显示内容的方法、终端及可读存储介质 |
CN110058760A (zh) * | 2019-03-15 | 2019-07-26 | 努比亚技术有限公司 | 一种显示方法、可穿戴设备及计算机可读存储介质 |
CN110401877A (zh) * | 2019-07-18 | 2019-11-01 | 北京字节跳动网络技术有限公司 | 视频播放的控制方法、装置、电子设备、及存储介质 |
CN110674017A (zh) * | 2018-07-03 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 埋点方法、装置及存储介质 |
CN112395470A (zh) * | 2019-08-19 | 2021-02-23 | Tcl集团股份有限公司 | 终端系统中操作事件统计方法、装置、终端及存储介质 |
CN114500667A (zh) * | 2022-01-26 | 2022-05-13 | 厦门雅基软件有限公司 | 基于url协议的数据处理方法、装置、电子设备及存储介质 |
CN115687827A (zh) * | 2022-11-15 | 2023-02-03 | 中电金信软件有限公司 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853204A (zh) * | 2010-06-01 | 2010-10-06 | 华南理工大学 | 一种windows环境下的复杂控件测试系统 |
US20160196598A1 (en) * | 2012-04-10 | 2016-07-07 | Cbs Interactive Inc. | Method, medium, and system for building a product finder |
-
2017
- 2017-10-10 CN CN201710973641.9A patent/CN107908443A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853204A (zh) * | 2010-06-01 | 2010-10-06 | 华南理工大学 | 一种windows环境下的复杂控件测试系统 |
US20160196598A1 (en) * | 2012-04-10 | 2016-07-07 | Cbs Interactive Inc. | Method, medium, and system for building a product finder |
Non-Patent Citations (2)
Title |
---|
心魔L心火: "在RecyclerView设置监听事件", 《HTTPS://BLOG.CSDN.NET/TOASTIT/ARTICLE/DETAILS/63734253》 * |
鲁面羊: "android遍历控件", 《HTTPS://BLOG.CSDN.NET/POWER9413/ARTICLE/DETAILS/19189321》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647072A (zh) * | 2018-05-04 | 2018-10-12 | 武汉极意网络科技有限公司 | 一种事件监听的方法、装置及设备 |
CN108647072B (zh) * | 2018-05-04 | 2021-11-30 | 武汉极意网络科技有限公司 | 一种事件监听的方法、装置及设备 |
CN108874569B (zh) * | 2018-05-31 | 2021-07-30 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN108874569A (zh) * | 2018-05-31 | 2018-11-23 | 北京三快在线科技有限公司 | 事件响应及文件生成的方法、装置及电子设备 |
CN110674017A (zh) * | 2018-07-03 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 埋点方法、装置及存储介质 |
CN109710415A (zh) * | 2018-12-29 | 2019-05-03 | 乐蜜有限公司 | 调用弹窗控件的处理方法、装置及电子设备 |
CN109710415B (zh) * | 2018-12-29 | 2023-10-03 | 卓米私人有限公司 | 调用弹窗控件的处理方法、装置及电子设备 |
CN109947617B (zh) * | 2019-02-25 | 2023-05-30 | 努比亚技术有限公司 | 一种监听应用界面显示内容的方法、终端及可读存储介质 |
CN109947617A (zh) * | 2019-02-25 | 2019-06-28 | 努比亚技术有限公司 | 一种监听应用界面显示内容的方法、终端及可读存储介质 |
CN110058760A (zh) * | 2019-03-15 | 2019-07-26 | 努比亚技术有限公司 | 一种显示方法、可穿戴设备及计算机可读存储介质 |
CN110401877A (zh) * | 2019-07-18 | 2019-11-01 | 北京字节跳动网络技术有限公司 | 视频播放的控制方法、装置、电子设备、及存储介质 |
CN112395470A (zh) * | 2019-08-19 | 2021-02-23 | Tcl集团股份有限公司 | 终端系统中操作事件统计方法、装置、终端及存储介质 |
CN114500667A (zh) * | 2022-01-26 | 2022-05-13 | 厦门雅基软件有限公司 | 基于url协议的数据处理方法、装置、电子设备及存储介质 |
CN114500667B (zh) * | 2022-01-26 | 2024-03-22 | 厦门雅基软件有限公司 | 基于url协议的数据处理方法、装置、电子设备及存储介质 |
CN115687827A (zh) * | 2022-11-15 | 2023-02-03 | 中电金信软件有限公司 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
CN115687827B (zh) * | 2022-11-15 | 2023-08-25 | 中电金信软件有限公司 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908443A (zh) | 一种事件监听方法、智能设备及存储介质 | |
US9704503B2 (en) | Command handling method, apparatus, and system | |
US9100854B2 (en) | Quality of service application controller and user equipment application profiler | |
CN104978176B (zh) | 应用程序接口调用方法、装置及计算机可读存储介质 | |
CN105005909A (zh) | 预测流失用户的方法及装置 | |
CN105847325B (zh) | 应用客户端的调试方法及装置 | |
CN106445609A (zh) | 应用程序的自动更新方法及移动终端 | |
CN106921506A (zh) | 移动设备的数据采集上报方法和系统 | |
CN104965716A (zh) | 图标更新方法、客户端装置、及终端设备 | |
CN106648971A (zh) | 一种崩溃crash恢复装置、终端及方法 | |
CN110177177A (zh) | 消息回复方法、移动终端及计算机可读存储介质 | |
CN109783223A (zh) | 一种内存清理方法、终端及计算机可读存储介质 | |
CN109542232A (zh) | 终端横竖屏模式的切换方法、终端及计算机可读存储介质 | |
CN105262890B (zh) | 便携式电子装置应用程序的信息更新控制系统与方法 | |
CN109086101A (zh) | 终端应用软件启动方法、终端及计算机可读存储介质 | |
CN109254972A (zh) | 一种离线命令词库更新方法、终端及计算机可读存储介质 | |
CN103918320A (zh) | 用于管理后台应用事件的系统和方法 | |
CN110278481A (zh) | 画中画实现方法、终端及计算机可读存储介质 | |
CN110086925A (zh) | 一种应用处理方法及移动终端 | |
CN109710050A (zh) | 一种显示控制方法、可穿戴设备及计算机可读存储介质 | |
CN107872363A (zh) | 数据包丢失的处理方法、系统、可读存储介质及电子设备 | |
CN106358318A (zh) | 一种热点建立方法及终端设备 | |
CN110427229A (zh) | 应用无响应处理方法、移动终端及计算机可读存储介质 | |
CN103856924B (zh) | 一种pcc策略实现的方法和装置 | |
CN109032621A (zh) | 一种应用程序安装方法、移动终端以及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180413 |