zoukankan      html  css  js  c++  java
  • 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", "通过接口实现!

    "); } }

  • 相关阅读:
    lamp一键安装
    mysql忘记密码
    lamp搭建
    进程与线程的一个简单解释
    使用jmeter进行api接口压力测试(转自某位大佬,感谢)
    cookie,session的区别
    Pycharm2019最新激活注册码(亲测有效)
    安装jmeter
    php环境搭建(需编译安装)
    (转载某位大神的,谢谢啦)listener.ora、tnsnames.ora和sqlnet.ora这3个文件的关系和作用
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5251371.html
Copyright © 2011-2022 走看看