博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android:onClick vs setOnClickListener
阅读量:7039 次
发布时间:2019-06-28

本文共 1318 字,大约阅读时间需要 4 分钟。

为Android Widgets添加点击事件处理函数又两种方法,一个是在Xml文件中添加onClick属性,然后在代码中添加对应的函数。另一个是直接在代码中添加setOnClickListener函数。两者什么区别呢?以Button控件为例讲解一下。

方法一

在Xml中添加onClick属性

在代码中添加对应的函数buttonClick,注意要添加到当前Activity对应的java类中。

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void buttonClick(View view) {        Toast.makeText(this, "Button was clicked", Toast.LENGTH_SHORT).show();    }        // ....}

方法二

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button)findViewById(R.id.mybutton);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this, "Button was clicked", Toast.LENGTH_SHORT).show();            }        });    }}

两者的共同点

两者底层没有区别。

两者的区别

使用第一种方法的注意事项:

1. 事件处理函数必须是public的。

2. 事件处理函数必须在Activity中定义。

3. 事件处理函数必须有一个View类型的参数。

4. 只能用在API Level 4及以后的版本。

参考

本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/p/4680073.html,如需转载请自行联系原作者

你可能感兴趣的文章
VTP配置实例
查看>>
heartbeat+nfs+apache(web)
查看>>
centos7改系统默认语言
查看>>
su和su -区别
查看>>
Debian系统学习笔记(4):时区时间
查看>>
sort命令用法
查看>>
【转】mdt wds部署windows Litetouch deployment failed, Return Code = -2147467259 0x80004005解决...
查看>>
使用SublimeText2写OSC博客
查看>>
C# 中datagridview控件的使用
查看>>
gson error
查看>>
安装Nginx
查看>>
Shell中 &>/dev/null和 >/dev/null 2>&1
查看>>
Eclipse Memory Analyzer(Java内存泄漏分析工具)
查看>>
自定义View 购物车加减数量
查看>>
mybatis 打印sql语句
查看>>
git项目时遇到的问题
查看>>
做一个好的程序猿
查看>>
Testlink安装使用
查看>>
Android系统性能调优工具介绍
查看>>
Greenplum如何激活、同步、删除Standby恢复原始Master
查看>>