在Android或Java开发中,对于button的OnClickListener有下面四种实现方式,可以根据需要选择合适的用法。

方法一:

适合场景:通用Button bt_Demo = (Button)findViewById(R.id.bt_Demo);

bt_Demo.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View v)

{

//响应Clicked事件

//......

}

});

方法二:

适合场景:适合有多个button或者button数组时使用Button bt_Demo = (Button)findViewById(R.id.bt_Demo);

bt_Demo.setOnClickListener(listener);

private OnClickListener listener = new OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

switch(arg0.getId()){

case R.id.bt_Demo:

//响应Clicked事件

//......

break;

default:

break;

}

}

}

方法三:

适合场景:适合有多个button或者button数组时使用,这跟方法二其实差别不大Button bt_Demo = (Button)findViewById(R.id.bt_Demo);

bt_Demo.setOnClickListener(new ButtonListener());

private class ButtonListener implements OnClickListener{

@Override

public void onClick(View arg0) {

//响应Clicked事件

//......

}

}

方法四:

适合场景:适合界面上有不同类型的控件,这种方式将所有控件的onclick方法在一个方法里面实现,看起来比较简洁//在Activity中直接OnClickListener接口:

import android.view.View.OnClickListener;

public class MyActivity extends Activity implements OnClickListener {

@Override public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//按纽

Button bt_Demo = (Button)findViewById(R.id.bt_Demo);

bt_Demo.setOnClickListener(this);

//响应Click事件

public void onClick(View v) {

switch (v.getId()) {

case R.id.bt_Demo:

//响应Clicked事件

//......

break;

default:

break;

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐