zoukankan      html  css  js  c++  java
  • 如何理解java回电话

    同android中间Button的setOnClickListener这个回调案例;

    Button button = (Button)this.findViewById(R.id.button);
    button.setOnClickListener(new Button.OnClickListener() {
    
      //回调函数
      @override
      publicvoid onClick(View v) {
        buttonTextView.setText("按钮被点击了");
      }
    });

    那么我们怎样实现呢;

    首先定义OnClickListener接口

    package com.listener;
    
    /**
     * 点击监听器接口
     * @author CodingMyWorld
     *
     */
    publicinterface MyOnClickListener {
        publicvoid onClick();
    }

    再定义Buttonbutton这个类

    package com.listener;
    
    publicclass MyButton {
        private MyOnClickListener listener;
        
        /**
         * 设置详细点击监听器
         * @param listener 点击监听器实现类
         */
        publicvoid setOnClickListener(MyOnClickListener listener) {
            this.listener = listener;
        }
        
        /**
         * button被点击
         */
        publicvoid doClick() {
            listener.onClick();
        }
    }

    最后编写一个測试类

    package com.listener;
    
    publicclass Client {
        publicstaticvoid main(String[] args) {
            MyButton button =new MyButton();
            //注冊监听器
            button.setOnClickListener(new MyOnClickListener() {
    
                @Override
                publicvoid onClick() {
                    System.out.println("按钮被点击了");
                    
                }
                
            });
            //模拟用户点击
            button.doClick();
        }
    }


    行。简单的理解,这是一个回调

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    hdu1507
    zoj1654
    hdu2444
    poj3692
    hdu1150
    hdu1151
    poj2771
    hdu3829
    hdu4619
    hdu4715
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4689075.html
Copyright © 2011-2022 走看看