Android实现事件监听常用的四种方法

在Android开发中,事件监听是必不可少的,经常用到,今天就来介绍一下几种事件监听的方法

事件监听
内部类方法
外部类方法
匿名内部类
本类监听方法

内部类方法

在Activity中创建一个类实现View.OnClickListener类的onClick方法

public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        Button button1 = findViewById(R.id.button1);
        //创建事件监听对象
        MyOnClickListener myOnClickListener = new MyOnClickListener();
        //给控件设置事件监听
        button.setOnClickListener(myOnClickListener);
        button1.setOnClickListener(myOnClickListener);
    }

    class MyOnClickListener implements View.OnClickListener{
    
    
        @Override
        public void onClick(View v) {
    
    
            //事件操作
            switch (v.getId()){
    
    
                case R.id.button:
                    ···
                    break;
                case R.id.button1:
                    ···
                    break;
                ······
            }
        }
    }
}

外部类方法

在Activity外新建一个类实现View.OnClickListener类的onClick方法
在这里插入图片描述
MyOnClickListener类

public class MyOnClickListener implements View.OnClickListener {
    
    
    @Override
    public void onClick(View v) {
    
    
        //事件操作
        switch (v.getId()){
    
    
            case R.id.button:
                ···
                break;
            case R.id.button1:
                ···
                break;
            ······
        }
    }
}

Activity类

public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        Button button1 = findViewById(R.id.button1);
        //创建事件监听对象
        MyOnClickListener myOnClickListener = new MyOnClickListener();
        //给控件设置事件监听
        button.setOnClickListener(myOnClickListener);
        button1.setOnClickListener(myOnClickListener);
    }
}

匿名内部类方法

在设置事件监听的同时设置内部类

public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        Button button1 = findViewById(R.id.button1);
        //给控件设置事件监听
        button.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    
                ···
            }
        });
        button1.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    
                ···
            }
        });
    }
}

本类监听方法

在Activity本类中实现View.OnClickListener类的onClick方法

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        Button button1 = findViewById(R.id.button1);
        //给控件设置事件监听
        button.setOnClickListener(this);
        button1.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
    
    
        //事件操作
        switch (v.getId()){
    
    
            case R.id.button:
                ···
                break;
            case R.id.button1:
                ···
                break;
            ······
        }
    }
}

以上就是Android中实现事件监听的常用方法


  • 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
  • 感谢阅读~

猜你喜欢

转载自blog.csdn.net/weixin_47971206/article/details/118653391
今日推荐