Android控件点击事件
1. 介绍
本文介绍了Android控件的点击事件
Android控件点击(onClick)事件可以用如下三种方式来实现
2. 实现onClick方法
在layout的xml中指定onClick方法, Activity中实现该方法. 通常用于Button.
File: res/layout/activity_main.xml
<Button
android:id="@+id/mybutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="BtnClick" />
File: java/com/xxx/proj/MainActivity.java
public void BtnClick(View view) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
intent.putExtra("EXTRA_DATA", "New Activy");
startActivity(intent);
}
3. onCreate中为控件绑定方法
如果layout的xml中同时指定了onClick方法, 则优先执行xml中的方法
File: java/com/xxx/proj/MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.mybutton);
button.setText(R.string.button_text);
button.setOnClickListener(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
intent.putExtra("EXTRA_DATA", "New Activity");
startActivity(intent);
}
});
}
4. 实现OnClickListener接口
该方法覆写OnClickListener中的onClick方法, 对不同的控件来响应各自的事件, 优点是能解决activity中所有的onclick问题
File: java/com/xxx/proj/MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.mybutton);
button.setText(R.string.button_text);
button.setOnClickListener(this);
} @Override
public void onClick(View v) {
if (v == button) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
intent.putExtra("EXTRA_DATA", "New Activity");
startActivity(intent);
}
}
}
参考:
<Button的OnClickListener的三种实现方法>
<Android的按钮单击事件及监听器的实现方式>
Android控件点击事件的更多相关文章
- Android实现监听控件点击事件
Android实现监听控件点击事件 引言 这篇文章主要想写一下Android实现监听点击事件的几种方法,Activity和Fragment实现起来有些方法上会有些不同,这里也略做介绍. 最近一直在忙一 ...
- winform自定义控件中其他遮挡控件点击事件
自定义控件在其他窗口调用时,里面的lable阻挡了控件的点击事件 解决方法 自定义控件中lable的 点击事件 private void Lable1_Click(object sender, Eve ...
- iOS全埋点解决方案-控件点击事件
前言 我们主要介绍如何实现控件点击事件($AppClick)的全埋点.在介绍如何实现之前,我们需要先了解一下,在 UIKit 框架下,处理点击或拖动事件的 Target-Action 设计模式. ...
- Android ListView 子控件点击事件
android:descendantFocusability beforeDescendants:viewgroup会优先其子类控件而获取到焦点 afterDescendants:viewgroup只 ...
- 在CTreeCtrl控件点击事件中获取点击的项
网上搜了一下,有两种方法: 1.使用GetSelectedItem() HTREEITEM hItem = m_treeCtrl.GetSelectedItem(); CString strText ...
- ListView使用自定义适配器的情况下实现适配器的文本和图标控件点击事件执行Activity界面中的方法
ListView使用的是自定义适配器,列表项的布局文件中含有文本和图标,实现文本区域和图标区域的点击事件. 实现思路:在自定义适配器MyArrayAdapter 类型中自定义接口和接口方法,分别设置文 ...
- ListView使用自定义适配器的情况下实现适配器的控件点击事件执行Activity界面中的方法
如果ListView使用的是自定义的适配器,比如MyArrayAdapter extends ArrayAdapter<String> 那么,如何实现适配器中的点击事件执行activity ...
- C# 动态代码生成控件后其他事件不能获取该控件的值
1.新建web项目,添加两个Button控件,结果如图. 2.Button按钮控件点击事件代码如下 protectedvoid Button1_Click(object sender, EventAr ...
- Android控件系列之RadioButton&RadioGroup(转)
学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握Ra ...
随机推荐
- ZOJ3553 概率DP
Bloodsucker In 0th day, there are n-1 people and 1 bloodsucker. Every day, two and only two of them ...
- 前端各种mate积累
<!DOCTYPE html> H5标准声明,使用 HTML5 doctype,不区分大小写 <head lang=”en”> 标准的 lang 属性写法 <meta c ...
- Json的用处一
今天,我们用到了json的的用处,其实也就是一个很简单的用处,就是点击一个按钮,触发一个事件,然后调用json, 之后我们就可以进行异步操作,其实只是针对于后台的操作,其实我们并没有对数据库进行刷新, ...
- 使用MD5比较两个文件是否相同
MD5算法:是计算机广泛使用的一种哈希算法,将数据(如汉字)运算为另一固定长度值,用于确保信息传输完整一致.java,C++ 等多种编程语言都有MD5的实现,可直接使用. 文件MD5值:每个文件都可以 ...
- ACE handle_timeout 事件重入
当多线程运行反应器事件时, 注意handle_timeout会重入,单独线程不存在下列问题! 1. 一个timer事件 // test_ace_timer.cpp : Defines the entr ...
- 剑指Offer - 九度1388 - 跳台阶
剑指Offer - 九度1388 - 跳台阶2013-11-24 03:43 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包 ...
- scp 将数据从一台linux服务器复制到另一台linux服务器
原文地址:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html 完整内容参考原文! scp 是secure copy的简写,用于在 ...
- 更改maven本地仓库地址
1.进入maven安装conf文件中,编辑settings.xml文件,新增图中的圈出的内容(我想要存放的地址是D:\HMY\m2\repository) 2.复制settings.xml文件至D:\ ...
- about 2018
2018想要完成的10件事情 1 活出更纯粹的自己. 未完成2 自考本科一定要过. ...
- 小红帽安装centos的yum的一些坑!
[root@localhost ~]# lsanaconda-ks.cfg yum-3.4.3-158.el7.centos.noarch.rpm yum-updateonboot-1.1.31-45 ...