监听事件的写法:
1. 匿名内部类
2. 独立类的实现
3. 实现接口的方式实现
public class MainActivity extends ActionBarActivity {
private Button loginButton;
private Button waibuButton1;
private Button waibuButton2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局xml文件引用到activity文件中
setContentView(R.layout.fragment_main);
//1.初始化当前所需要控件,如何初始化一个控件
//findViewById返回的是一个View的对象,findviewbyid是如何查找对应view的id
//2.设置button的监听器,通过监听器实现我们点击button要操作的事件
//2.1 监听事件通过匿名内部类实现
//由于findviewbyid返回的是view对象,所以需要强制类型转换成需要的类型
loginButton=(Button)findViewById(R.id.button1);
loginButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("监听器实现");
}
});
//2.2设置button的监听器,通过外部类实现
waibuButton1=(Button) findViewById(android.R.id.button2);
waibuButton2=(Button) findViewById(android.R.id.button3);
waibuButton1.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "waibubutton1要执行的逻辑",1).show();
}
});
waibuButton2.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "waibubutton2要执行的逻辑",1).show();
}
});
}
}
//定义外部类,OnClickListener是一个接口
class MyOnClickListener implements OnClickListener{
@Override
public void onClick(View arg0) {
//让所有使用当前外部类的点击事件的按钮都做出一个动作,改变button本身的透明度
v.setAlpha(0.5f);
}
}
//2.3用接口实现监听器
public class Jiekou extends ActionBarActivity implements OnClickListener{
private ImageButton imageButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageButton=(ImageButton)findViewById(R.id.imageButton1);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("接口实现监听器");
}
}
633

被折叠的 条评论
为什么被折叠?



