为了账号安全,请及时绑定邮箱和手机立即绑定

外部类实现监听和独立类实现监听

上面两个说的是一样的吗?我看老师讲监听事件时,第二种监听发法给的代码不一样。。一个是利用接口,一个是new了一个OnClickLinster新对象。。。。谁能给我解答呢!?Java没学完,看这有点难。。

正在回答

1 回答

一种是在设置监听事件时,参数使用匿名内部类,重写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;
        }
    }
}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312472    人
  • 解答问题       4931    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

外部类实现监听和独立类实现监听

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号