Android-一个布局中有三个按钮,要按钮和布局都有单击事件,要怎么写?

发布于 2016-12-07 21:34:45 字数 0 浏览 1211 评论 2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归属感 2017-07-10 22:26:24

按钮和布刷文件分别设置事件监听即可。

MyOnClickListener listener = new MyOnClickListener();

button1.setOnClickListener(listener);
button2.setOnClickListener(listener);
button3.setOnClickListener(listener);
layout.setOnClickListener(listener);

class MyOnClickListener implements OnClickListener {

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
// button1事件处理
break;
case R.id.button2:
// button2事件处理
break;
case R.id.button3:
// button3事件处理
break;
case R.id.layout:
// 整个布局事件处理
break;
default:
// 或者不需要上面的case R.id.layout:直接将整个布局事件处理写在这里
break;
}

}
}

夜无邪 2017-01-07 22:57:03

你这个就是防止事件冒泡了,用jquery的event.stopPropagation();很容易实现

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-latest.min.js"></script>
<script language="javascript">
$(document).ready(function(e) {
$("#parent").click(function(){
alert("this is parent");
});
$("#son_1").click(function(event){
alert("this is son_1");
event.stopPropagation();
})
$("#son_2").click(function(event){
alert("this is son_2");
event.stopPropagation();
})
$("#son_3").click(function(event){
alert("this is son_3");
event.stopPropagation();
});
});
</script>
</head>

<body>
<div id="parent" style="border:1px solid #ff0000; width:200px; height:100px;">
<input type="button" id="son_1" value="son_1" />
<input type="button" id="son_2" value="son_2" />
<input type="button" id="son_3" value="son_3" />
</div>
</body>
</html>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文