Android onClick方法与setOnClickListener方法对比

Android onClick方法与setOnClickListener方法对比,第1张

概述AndroidonClick 与setOnClickListener区别为AndroidWidgets添加点击事件处理函数又两种方法,一个是在Xml文件中添加onClick属性,然后在代码中添加对应的函数。另一个是直接在代码中添加setOnClickListener函数

AndroID onClick 与 setonClickListener区别

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

方法一

在Xml中添加onClick属性

<relativeLayout  xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:layout_wIDth="match_parent"  androID:layout_height="match_parent">  <button    androID:ID="@+ID/mybutton"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_centerInParent="true"    androID:text="Press Me"    androID:onClick="buttonClick"/></relativeLayout>

在代码中添加对应的函数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,Toast.LENGTH_SHORT).show();      }    });  }}

两者的共同点

两者底层没有区别。

两者的区别

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

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

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

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

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的Android onClick方法与setOnClickListener方法对比全部内容,希望文章能够帮你解决Android onClick方法与setOnClickListener方法对比所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1147437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存