Button和ImageButton[通俗易懂]

Button和ImageButton[通俗易懂]

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

Button—-button

ImageButton—-图片button

共同拥有特征:

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

不同点

1、 Button有text的属性。ImageButton没有

2、 ImageButton有src属性。Button没有

onClick事件

Button和ImageButton都有一个onClick事件

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

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

监听事件实现的几种写法

1、 匿名内部类的实现

2、 独立类的实现

3、 实现接口的方式实现

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

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

代码语言:javascript代码运行次数:0运行复制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.cn/115760.html原文链接:https://javaforall.cn

相关推荐

snowing怎么读
365bet官方平台开户

snowing怎么读

📅 07-04 👁️ 496
WIN10更新提示不支持UEFI
365bet网上网投

WIN10更新提示不支持UEFI

📅 07-26 👁️ 5491
萌宠召唤师
365bet网上网投

萌宠召唤师

📅 08-06 👁️ 3049
矩阵零日危机联机教程 怎么联机和好友一起玩?联机攻略
bt365体育手机客户端

矩阵零日危机联机教程 怎么联机和好友一起玩?联机攻略

📅 08-29 👁️ 4088
为什么秋天会落叶?#千万ip创科普
365bet网上网投

为什么秋天会落叶?#千万ip创科普

📅 07-06 👁️ 9631
王者荣耀战队皮肤多久
bt365体育手机客户端

王者荣耀战队皮肤多久

📅 07-10 👁️ 1438