/**
* Button的四种写法
*/
//第一种先获取button,然后给button添加监听事件,创建实现OnClickListener接口的类,
//在接口类里实现button的响应事件。
Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(new MyListener());
//创建实现接口的类
public class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
/**
* 方法实现
*/
}
}
//第二种直接在添加监听的时候创建接口的实例
Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/**
* 具体实现
*/
}
});
//第三种让MainActivity实现接口OnClickListener
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
/**
* 当有很多button的时候让当前的MainActivity继承onClickListener接口,
在要实现的方法里用switch case 语句判断从而实现
*
*/
switch (v.getId()) {
case R.id.callBtn:
break;
default:
break;
}
}
}
}
//第四种在activity_main.xml中<Button />里添加android:onClick="callPhone"
//然后在MainActivity.java里实现
//其实是通过反射实现的
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void callBtnClicked(View v) {
/**
* 具体实现
*/
}
}