接下来,我们来学习事件监听机制。首先,我们(老爷)有一个按钮(小姐)。为了使按钮具有某个功能(自保),就需要给它安排一个监听器(保镖)。我们给监听器添加事件处理的方式(任务:陌生人接近 —> 拦住他),然后把监听器绑定到按钮上(安排贴身保镖)。在我们的小游戏里面,这个事件当然就是按下按钮了。然后,按钮被按下的时候(社会青年接近小姐),监听器检测到这个动作,并调用之前添加的方式进行处理(想起任务,拦住社会青年)。
上面的过程概括一下就是:给监听器添加事件的处理方式;监听器绑定到按钮;事件发生;监听器处理事件。了解了这个之后,我们终于明白了:我们想要写的核心部分函数,其实就是监听器对按钮被点击这一事件的处理方式。为此,在写核心部分之前,我们首先给按钮绑定一个监听器。
在2.6.3中,我们已经获取到了控件的对象,包括按钮。所以,我们可以直接使用按钮对象的相关函数来给它添加监听器。具体地说,就是setOnClickListener函数。注意绑定监听器的代码应该写在onCreate函数里面。
setOnClickListener函数需要一个监听器对象作为参数。为此,我们需要创建一个监听器对象。(还记得new关键字的用法吗?点击复习)这里我们可以不用另外定义一个变量来临时“存储”监听器对象,如下:
由于监听器对象的创建需要指定事件的处理方式,所以我们加入花括号,里面写一个onClick方法: