外部类实现监听和独立类实现监听
上面两个说的是一样的吗?我看老师讲监听事件时,第二种监听发法给的代码不一样。。一个是利用接口,一个是new了一个OnClickLinster新对象。。。。谁能给我解答呢!?Java没学完,看这有点难。。
上面两个说的是一样的吗?我看老师讲监听事件时,第二种监听发法给的代码不一样。。一个是利用接口,一个是new了一个OnClickLinster新对象。。。。谁能给我解答呢!?Java没学完,看这有点难。。
2016-10-08
一种是在设置监听事件时,参数使用匿名内部类,重写onClick方法:
mTestButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//要实现的逻辑
}
});另一种是让Activity实现OnClickListener接口,设置点击事件时的参数为当前Activity的上下文,然后在Activity里重写onClick方法:
public class TestActivity extends Activity implements OnClickListener {
//实现OnClickListener接口
private TextView mTestTextView;
private ImageView mTestImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clean);
mTestTextView = (TextView) findViewById(R.id.test_text);
mTestImageView = (ImageView) findViewById(R.id.test_img);
mTestTextView.setOnClickListener(this);
//设置点击监听事件,参数为当前Activity的上下文
mTestImageView.setOnClickListener(this);
//设置点击监听事件,参数为当前Activity的上下文
}
@Override
public void onClick(View v) {
//重写OnClick方法
switch (v.getId()){
//根据控件ID设置点击事件要实现的逻辑
case R.id.test_text:
//要实现的逻辑
break;
case R.id.test_img:
//要实现的逻辑
break;
}
}
}举报