大家好,又见面了,我是全栈君。
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对象,须要对其进行类型转换,转换成对应的控件类型。
以下看一下三种方法的详细实现
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", "通过接口实现!
"); }}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115760.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...