android 中的监听器与内部匿名类

本文介绍了Java内部匿名类的概念及其在Android开发中的应用,通过实例展示了如何使用内部匿名类来简化代码,特别是在设置监听器时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,内部匿名类

在 java 中,内部匿名类就是没有名字的内部类。注意,内部匿名类有两个关键词,一个内部,一个是没有名字。其目的是为了简化代码的书写。使用内部匿名类主要的目的是为了简化代码的书写。


2,android 中监听器的实现

在平时写代码中,我们在使用按钮等控件的时候,经常会使用内部匿名类。这里我们以为 Button 为例子,代码如下:

        mTrueButton = (Button) findViewById(R.id.true_button);
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                do(true);
            }
        });

可以看到,setOnClickLisener 中就使用了一个内部匿名类,并实现了 OnClickListener 这个接口中唯一的方法。我们也可以具体定义一个类,并实现 OnClickListener 接口,然后注册给 setOnClickLisener ,显然内部匿名类简化了代码。下面是 OnClickListener 这个接口,可以看到,android 中这个接口只有一个函数需要实现。

    /**
     * Interface definition for a callback to be invoked when a view is clicked.
     */
    public interface OnClickListener {
        /**
         * Called when a view has been clicked.
         *
         * @param v The view that was clicked.
         */
        void onClick(View v);
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值