十年专注于品牌网站建设 十余年专注于网站建设_小程序开发_APP开发,低调、敢创新、有情怀!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

Android开发中添加事件监听器的方法有哪些?

百恒网络 2017-07-12 5507

我想从事南昌APP开发的朋友都知道,Android应用属于典型的事件驱动类型。不像命令行或脚本程序,事件驱动型应用启动后,即开始等待行为事件的发生,如用户单击某个按钮。(事件也可以由操作系统或其他应用触发,但用户触发的事件更直观。)

应用等待某个特定事件的发生,也可以说应用正在“监听”特定事件。为响应某个事件而创建的对象叫作监听器(listener)。监听器是实现特定监听器接口的对象,用来监听某类事件的发生。无需自己编写,Android SDK已经为各种事件内置开发了很多监听器接口。当前应用需要监听用户的按钮“单击”事件,因此监听器需实现View.OnClickListener接口。

首先处理TRUE按钮。在QuizActivity.java文件中,在onCreate(...)方法的变量赋值语句后输入下列代码,如下代码所示。

为TRUE按钮设置监听器(QuizActivity.java)

...

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_quiz);

mTrueButton = (Button) findViewById(R.id.true_button);

mTrueButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

mFalseButton = (Button) findViewById(R.id.false_button);

}

}

(如果遇到View cannot be resolved to a type的错误提示,请使用Option+Return或Alt+Enter快捷键导入View类。)

在以上代码中,我们设置了一个监听器。当按钮mTrueButton被点击后,监听器会立即通知我们。传入setOnClickListener(OnClickListener)方法的参数是一个监听器。该参数是一个实现了OnClickListener接口的对象。

使用匿名内部类

传入SetOnClickListener(OnClickListener)方法的监听器参数是一个匿名内部类(anonymous inner class)实现,语法看上去稍显复杂,不过南昌APP制作开发公司小编在这里告诉一个助记小技巧给大家:最外层括号内的全部实现代码就是传入SetOnClickListener(OnClickListener)方法内的一个参数。该参数就是新建的一个匿名内部类的实现代码。

mTrueButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

所有的监听器都可以以匿名内部类来实现,这样做有以下两个好处:

第一:因为匿名内部类的使用,我们可在同一处实现监听器方法,代码更清晰可读;

第二:事件监听器一般只在同一处使用,使用匿名内部类可避免不必要的命名类实现。

匿名内部类实现了OnClickListener接口,因此它也必须实现该接口唯一的onClick(View)方法。onClick(View) 方法的代码暂时是一个空结构。虽然实现监听器接口需要实现onClick(View)方法,但具体如何实现由使用者决定,因此即使是空的实现方法,编译器也可以编译通过。

参照以下代码为FALSE按钮设置类似的事件监听器。

为FALSE按钮设置监听器(QuizActivity.java)

...

mTrueButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

mFalseButton = (Button) findViewById(R.id.false_button);

mFalseButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// Does nothing yet, but soon!

}

});

}

以上就是南昌APP开发公司-百恒网络为大家介绍的几种Android开发中添加事件监听器的方法,如果还有哪些不懂的地方,可随时来电和我们联系,我们一定为您解答疑惑。此外,如有网站建设、微信开发、APP开发、网站推广等方面的需要,百恒可随时为您服务,咨询热线:400-680-9298(免长途费)


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×