zoukankan      html  css  js  c++  java
  • Android实现点击事件的4种方式

    一、通过在activity_main.xml中,按钮button控件中添加onclick事件实现


    在   activity_main.xml 对应的按钮Button中加入下面红色事件

    <Button android:id="@+id/send_button"
            android:layout_width="wrap_content"
            android:layout_below="@id/content_edit"
            android:text="@string/send_button"
            android:onClick="call"
            android:layout_height="wrap_content"/>

    在布局对应的Activity,即MainActivity.java中加入下面方法,下面是点击拨打号码的时候的相关操作

      /**
         * 当拨打此号码的按钮被点击时触发此方法.
         * @param v
         */
        public void call(View v) {
            System.out.println("拨打电话……….");
           
            // 1. 取出输入框中的号码
            EditText etNumber = (EditText) findViewById(R.id.number);    // 输入框对象
            String number = etNumber.getText().toString();    // 将要拨打的号码
           
            // 2. 根据号码拨打电话
            Intent intent = new Intent();        // 创建一个意图
            intent.setAction(Intent.ACTION_CALL);        // 指定其动作为拨打电话
            intent.setData(Uri.parse("tel:" + number));    // 指定将要拨出的号码
            startActivity(intent);    // 执行这个动作
        }

    二、采用匿名内部类的方式,在布局初始化的时候添加事件监听


    在 activity_main.xml  不要添加onclick事件

    在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

            Button btnCall = (Button) findViewById(R.id.btn_call);
            btnCall.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    System.out.println("MainUI2 拨打电话.");
                    call();
                }
            });

    三、采用内部类的方式,在布局初始化的时候添加事件监听


    在 activity_main.xml  不要添加onclick事件

    在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);        // 必须执行此句代码. 执行父类的初始化操作.
            setContentView(R.layout.main);                // 设置当前界面显示的布局.
            Button btnCall = (Button) findViewById(R.id.btn_call);
            btnCall.setOnClickListener(new MyOnClickListener());
        }
       
    class MyOnClickListener implements OnClickListener {

            @Override
            public void onClick(View v) {
                System.out.println("拨打号码..");
                call();
            }
        }
       
        /**
         * 拨打电话的业务方法
         */
        private void call() {

                   //实现事件触发的要执行的逻辑  

       }

    四、采用Activity实现接口的方式,实现事件监听


    在 activity_main.xml  不要添加onclick事件,  让布局Activity实现接口OnClickListener,并实现接口的方法

    public class MainActivity extends Activity implements OnClickListener

    private void call() {

            // 1. 取出输入框中的号码
            EditText etNumber = (EditText) findViewById(R.id.number);    // 输入框对象
            String number = etNumber.getText().toString();    // 将要拨打的号码
           
            // 2. 根据号码拨打电话
            Intent intent = new Intent();        // 创建一个意图
            intent.setAction(Intent.ACTION_CALL);        // 指定其动作为拨打电话
            intent.setData(Uri.parse("tel:" + number));    // 指定将要拨出的号码
            startActivity(intent);    // 执行这个动作
        }

        @Override
        public void onClick(View v) {

            call();
        }

  • 相关阅读:
    对java的Thread的理解
    Bugku的web题目(多次)的解题
    对网易云音乐参数(params,encSecKey)的分析
    并发编程知识的简单整理(二)
    并发编程知识的简单整理(一)
    用python代码编写的猜年龄小游戏
    python进阶与文件处理(数据类型分类,python深浅拷贝,异常处理,字符编码,基本文件操作,绝对路径和相对路径,,高级文件操作,文件的修改)
    计算机基础以及编程语言
    python基础-3(数据类型以及内置方法、解压缩、python与用户交互)
    python基础-2(格式化输出的三种方式,基本运算符,流程控制之if判断,流程控制之while循环,流程控制之for循环)
  • 原文地址:https://www.cnblogs.com/zhongjianlong/p/3991502.html
Copyright © 2011-2022 走看看