Android增加监听的三种实现方式
在Android中,为一个按钮增加监听的方式有三种
1.匿名内部类
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局文件 setContentView(R.layout.activity_main); //获得布局中的按钮 btn = (Button) findViewById(R.id.btn); //为按钮增加匿名内部类监听 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //打印提示信息 Toast.makeText(MainActivity.this, "匿名内部类实现监听", Toast.LENGTH_SHORT).show(); } }); }
2.内部类
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局文件 setContentView(R.layout.activity_main); //获得布局中的按钮 btn = (Button) findViewById(R.id.btn); //内部类实现点击监听 btn.setOnClickListener(new MyClickListener()); } //定义一个内部类 class MyClickListener implements OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "内部类实现监听", Toast.LENGTH_SHORT).show(); } }
3.实现接口
定义的Activity实现OnClickListener接口,并重新onClick()方法
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局文件 setContentView(R.layout.activity_main); //获得布局中的按钮 btn = (Button) findViewById(R.id.btn); //增加监听,传递this对象,this代表的是被点击的控件 btn.setOnClickListener(this); } @Override public void onClick(View view) { // TODO Auto-generated method stub switch (view.getId()) { case R.id.btn: Toast.makeText(MainActivity.this, "实现接口实现监听", Toast.LENGTH_SHORT).show(); break; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。