重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍“Android开发中怎么添加事件监听器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android开发中怎么添加事件监听器”文章能帮助大家解决问题。
成都创新互联专注于大邑县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供大邑县营销型网站建设,大邑县网站制作、大邑县网页设计、大邑县网站官网定制、小程序开发服务,打造大邑县网络公司原创品牌,更为您提供大邑县网站排名全网营销落地服务。
首先处理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!
}
});
}
关于“Android开发中怎么添加事件监听器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。