监听事件实现的几种写法
1、匿名内部类的实现
public class MainActivity extends Activity {
private Button btn;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 1.初始化当前所需控件 findViewById----通过访问id返回一个View的对象
* 2.设置Button的监听器,通过监听器实现我们点击Button要操作的事情
*/
btn = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textView1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv.setText("HelloWord");
}
});
}
}
2、独立类的实现
public class MainActivity extends Activity {
private Button btn;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 1.初始化当前所需控件 findViewById----通过访问id返回一个View的对象
* 2.设置Button的监听器,通过监听器实现我们点击Button要操作的事情
*/
btn = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textView1);
btn.setOnClickListener(listener);
}
OnClickListener listener=new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv.setText("HelloWord2");
}
};
}
3、实现接口的方式来实现
public class MainActivity extends Activity implements OnClickListener {
private Button btn;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 1.初始化当前所需控件 findViewById----通过访问id返回一个View的对象
* 2.设置Button的监听器,通过监听器实现我们点击Button要操作的事情
*/
btn = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textView1);
btn.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv.setText("HelloWord3");
}
}