android setOnClickListener 回调函数理解

时间:2025-03-19 09:30:15

1.模拟java View类:


package ;

/**
 * Created by dandan on 15-2-7.
 */
public class View {

    /**设置默认ID**/
    public static final int NO_ID = -1;

    /**设置每个控件的ID用于被子类覆盖**/
    public int mID = NO_ID;

    /**保存点击回调函数**/
    public OnClicklistener mOnClicklistener;

    public interface OnClicklistener {

        void onClick(View view);
    };

    void setOnClicklistener(OnClicklistener onClicklistener) {
         = onClicklistener;
    };

    public int getId(){
        return mID;
    };

}<span style="color:#ff0000;">
</span>


2.模拟android控件继承View


package ;

/**
 * Created by dandan on 15-2-7.
 */
public class AnimationButton extends  View{

    /**
     * 按钮子类中模拟用户点击的方法
     *
     * **/
    public void moniClick(){
         = 20;

        OnClicklistener clicklistener = ;
        (this);
    }
}




3.模拟客户端使用AnimationButton控件


package ;

/**
 * Created by dandan on 15-2-7.
 */
public class MainActivity {

    public static void main(String[] args) {

        AnimationButton animationButton = new AnimationButton();
        (new () {
            @Override
            public void onClick(View view) {
                (());
            }
        });
<span style="white-space:pre">	</span>//模拟用户点击按钮
        ();
    }


}