Android中Button的onClick实现方法。

Android中Button的onClick实现方法大概是这样的吧!


刚刚是看到有代码将一个接口传给了一个函数(是一个构造函数,没考证是不是也可以传给一个普通函数),之后我不懂为什么,就百度了一下。

发现了这样一个文章:http://blog.csdn.net/sunshine_mood/article/details/49874039

========================================

内容如下,转载以上网址:

Android 通过接口传值

接口传值简单了说,就是在需要传值的那方定义接口,在接收数据的那方实现接口,数据就在需要实现的那个方法里,千万记住传值方的Listener一定是接收数据方的Listener。

第一步:定义接口类:
public interface Listener {
    void send(String s);
}

第二步:传递类发送数据:
public class Data {
    public Listener mListener;//接口

    public Data(Listener mListener) {
        this.mListener = mListener;
    }
    public void sends(){
        mListener.send("越努力越成功,越聚贵人!");//开始发送数据
    }
}

第三步:接受类接收数据:
public class MainActivity extends Activity implements Listener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Data data = new Data(this);//实例化data类
        data.sends();//启动发送
    }

    @Override
    public void send(String s) {
        Log.e("tag: ",s);
    }
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

========================================

通过这个,我终于明白了Button的onClick实现方法:


据方的Listener。

第一步:定义接口类:
public interface OnClickListener {
    void onClick(View v);
}

第二步:传递类发送数据:public class Button{ public OnClickListener mOnClickListener ;//接口
	public Button(Context context, OnClickListener l) {
    		this(context, null);
		this.mOnClickListener = l;
	}
public void setOnClickListener(){()(){
mListener.onClick(v);//开始发送数据
}}第三步:接受类接收数据:public class MainActivity extends Activity implements OnClickListener{
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button= new Button(this);//实例化data类 data.setOnClickListener();//启动发送 } @Override public void onClick(){(String s) {
Log.e("tag: ",s); }}
这段代码不能运行,只是由上面得到了启发,原来直接看到
public interface OnClickListener {
    void onClick(View v);
}
这段代码,就想不通为什么点击了按钮就能调用,现在基本懂了。其实脑子还是有些晕,在此记录,以备以后查看。 算是抛砖引玉吧!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值