Button和ImageButton[通俗易懂]

Button和ImageButton

大家好,又见面了,我是全栈君。

Button—-button

ImageButton—-图片button 

共同拥有特征:

都能够作为一个button产生点击事件

不同点

1、 Buttontext的属性。ImageButton没有

2、 ImageButtonsrc属性。Button没有

onClick事件

ButtonImageButton都有一个onClick事件

通过他们自身的.setOnClickListener(OnclickListener)方法加入点击事件。

事实上全部的控件都有一个onClick事件

监听事件实现的几种写法

1、 匿名内部类的实现

2、 独立类的实现

3、 实现接口的方式实现 

findViewById—-返回的是一个View对象,须要对其进行类型转换,转换成对应的控件类型。

 以下看一下三种方法的详细实现

package com.example.button;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {
	private TextView tv;
	private Button loginButton;
	private ImageButton imgBt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.textView1);
        /*
         * 1、初始化当前须要的控件
         * 2、设置Button的监听器。通过监听器实现我们点击Button要操作的事情
         */
        loginButton = (Button) findViewById(R.id.button1);
        /*
         * 1、监听事件通过匿名内部类实现
         */
        loginButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				//在当前onClick方法中监听点击Button的动作
				tv.setText("被点击了!

"); } }); /* * 2、监听事件通过独立类实现 */ loginButton = (Button) findViewById(R.id.button2); loginButton.setOnClickListener(listener); /* * 3、通过接口方式实现 */ imgBt = (ImageButton) findViewById(R.id.imageButton1); imgBt.setOnClickListener(this); } OnClickListener listener = new OnClickListener() { @Override public void onClick(View arg0) { tv = (TextView) findViewById(R.id.textView1); //tv.setText("独立类的监听事件被触发了!"); Log.i("tag", "独立类"); } }; @Override public void onClick(View arg0) { Log.i("tag", "通过接口实现!

"); }}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115760.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 金蝶显示服务器异常,金蝶迷你版登录提示云服务器异常

    金蝶迷你版登录提示云服务器异常内容精选换一换如果您购买了ECS,而没有对ECS进行主机安全防护,那么您主机将面临账户爆破、异常登录、恶意攻击等安全威胁。购买ECS,勾选开通主机安全,HSS基础版(按需计费)免费赠送。HSS可以帮助您全面识别并管理主机中的信息资产,实时监测主机中的风险并阻止非法入侵行为,帮助企业构建服务器安全体系,降低当前服务器面临的主要安全风险。基础版(按需计费)区块链管理页面…

    2022年4月9日
    86
  • 如何把scratch转成一个swf文件或者exe执行文件「建议收藏」

    如何把scratch转成一个swf文件或者exe执行文件

    2022年3月13日
    117
  • 软件工程之软件设计③(概要设计说明书,详细设计说明书)

    软件工程之软件设计③(概要设计说明书,详细设计说明书)需求分析确定了系统的开发目标,下一步工作就是软件设计。软件设计可以进一步地分为两个阶段:总体设计和详细设计。总体设计又称概要设计,即确定系统的具体实现方案、给出软件的模块结构、编写总体设计说明书。详细设计又称过程设计,这一步的工作,就是要对系统中的每个模块给出足够详细的过程性描述。这种描述不是程序的书写,而是用一些工具来表示每个模块,所以这种描述是不…

    2022年5月10日
    35
  • oracle函数查询结果遍历输出_initcap函数

    oracle函数查询结果遍历输出_initcap函数1、Oracle程序包查询SELECTDISTINCTNAMEFROMDBA_SOURCEWHEREtype=’PACKAGE’ORDERBYNAME;2、Oracle程序包中函数、存储过程源码查询SELECT*FROMDBA_SOURCEWHERETYPE=’PACKAGEBODY’;…

    2025年9月17日
    4
  • 微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法

    微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法1、报错原由微信小程序使用background-image运行时报错pages/index/index.wxss中的本地资源图片无法通过WXSS获取,可以使用网络图片,或者base64,或者使用标签。小程序样式中不允许小程序路径2、解决方法1.使用图片的网络路径background:url(‘http://1812.img.pp.sohu.com.cn/images/blog/2009/11/18/18/8/125b6560a6ag214.jpg’);2.base64将图

    2022年6月24日
    46
  • wing是什么_最短路径floyd算法例题

    wing是什么_最短路径floyd算法例题给定一个由 n 行数字组成的数字梯形如下图所示。梯形的第一行有 m 个数字。从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。规则 1:从梯形的顶至底的 m 条路径互不相交。规则 2:从梯形的顶至底的 m 条路径仅在数字结点处相交。规则 3:从梯形的顶至底的 m 条路径允许在数字结点相交或边相交。对于给定的数字梯形,分别按照规则 1,规则 2,和规则 3 计算出从梯形的顶至底的 m 条路径,使这 m 条路径经过的数字总和最大。输入格式第 1

    2022年8月9日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号