Android 四种绑定监听事件的方式

来源:互联网 发布:linux下cp命令的用法 编辑:程序博客网 时间:2024/06/14 02:51



1、

直接通过id查找后,绑定匿名内部类作为事件监听类。代码如下:

Button loginButton = (Button) findViewById(R.id.tologin1);

btn1.setOnclickListener(new OnclickListener(){

public void onClick(View v){

// 要执行的操作

}

});


这种方法有好也有不好,好的是比较直观方便,不好的是,如果按钮多了,代码看起来比较乱。


2、

实现点击事件的接口,然后一个个按钮地去绑定,最后统一做处理。代码如下:


public class ActivityLogin1 extends Activity implements View.OnClickListener


btnLogin = (Button) findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(this);


btnBack = (Button) findViewById(R.id.back);
btnBack.setOnClickListener(this);


@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.back:
//对应操作

break;

case R.id.btnLogin:

//对应操作

break;

.......

}

}


这种方法有点批量处理的味道。统一处理,可以让代码看起来更加结构化。


3、

自定义监听事件类,实现点击事件的接口。代码如下:


Button btn1=(Button)findViewById(R.id.myButton1);

Button btn2=(Button)findViewById(R.id.myButton2);

btn1.setOnclickListener(new Startclick());

btn2.setOnclickListener(new Stopclick());


class StartClick implements OnClickListener{

public void onClick(View v){//或直接跟上要执行的动作

switch(v.getId()){

case R.id.myButton1:

//要执行的动作

}

}

}


class StopClick implements OnClickListener{////或直接跟上要执行的动作

public void onClick(View v){

switch(v.getId()){

case R.id.myButton2:

//要执行的动作

}

}

}


第三种方法我用得比较少.


4、


我要重点说一下第四种方法。代码如下:


android:id="@+id/pay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:onClick="pay"
android:text="支付"
tools:ignore="HardcodedText" />


public void pay(View v) {

//要执行的操作

}


这种方法比较简便

原创粉丝点击