四种点击事件:
后三种在实际中都有使用,第一种由于不看.java不知道onClick事件的功能,不符合耦合度低的要求,不推荐使用
res--layout--activity_main.xml <Button android:onClick="call" />
1. 直接写方法
public void call(View v){
System.out.println("This number is calling");
EditText etNumber = (EditText) findViewById(R.id.number);
String number = etNumber.getText().toString();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
2. 匿名方法 重写OnClickListener接口的onClick方法
Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
call();
}
});
private void call(){}
3. 内部类 类重写OnClickListener接口的onClick方法
Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(new MyOnClickListener());
class MyOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
call();
}
}
4. 类实现接口 调用本类对象 类重写OnClickListener接口的onClick方法
public class MainActivity4 extends ActionBarActivity implements OnClickListener{
Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(this);}
public void onClick(View v) {
call();
}