天天看点

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
Android中Button的onClick实现方法。
Android中Button的onClick实现方法。
  • 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