Android三种方法实现事件监听
方法一.使用內部类实现监听事件
b1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intet = new Intent(MainActivity.this,seekbar.class);
startActivity(intet);
//finish();
}
});
方法二使用外部类
Button buttonup=(Button)findViewById(R.id.btn_signup);
buttonin.setOnClickListener(new MyOnClicklistener() {
public void onClick(View v) {
//noinspection ConstantConditions
super.onClick(v);
Toast.makeText(MainActivity.this,"点击了登录",Toast.LENGTH_LONG).show();
}
});
buttonup.setOnClickListener(new MyOnClicklistener() {
public void onClick(View v) {
//noinspection ConstantConditions
super.onClick(v);
Toast.makeText(MainActivity.this,"点击了注册",Toast.LENGTH_LONG).show();
}
});
class MyOnClicklistener implements View.OnClickListener {
public void onClick(View v) {
//让所有使用当前外部类的点击事件的按钮都要做出一个动作,改变button本身
v.setAlpha(0.5f);
}
方法三 使用接口方式实现监听事件
public class ActivityListener extends Activity implements OnClickListener {
private EditText show;
private Button bn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (EditText)findViewById(R.id.show);
bn = (Button)findViewById(R.id.bn);
bn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
show.setText("按钮被单击了!");
}
方法四 直接绑定到标签 ###
在布局中要发送事件源中定义一个:android:onClick="confirm" 然后在该布局对应的Activity定义一个public void confirm(void source)方法