android 监听事件 OnCheckedChangeListener是干啥的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 监听事件 OnCheckedChangeListener是干啥的相关的知识,希望对你有一定的参考价值。

    OnCheckedChangeListener是状态改变触发事件,比如复选框,单选框等等

    OnClickListener这个监听事件是被点击时触发

    前者是状态改变的时候触发,后者是被点击的时候触发

参考技术A 这是RadioGroup,CheckBox选中状态发生改变的方法。比如复选框选中或者取消都会触发该方法,就可以在该方法中实现相应的逻辑。

Android中Button的五种监听事件

  简单聊一下Android中Button的五种监听事件:

1.在布局文件中为button添加onClick属性,Activity实现其方法
2.匿名内部类作为事件监听器类
3.内部类作为监听器
4.Activity本身作为事件监听器,实现onClickListener
5.外部类作为监听器

ButtonListenerActivity.class
public class ButtonListenerActivity extends AppCompatActivity implements View.OnClickListener{

    private Button bt_one,bt_two,bt_three,bt_four,bt_five;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button_listener);

        bt_two = (Button) findViewById(R.id.bt_listener_two);
        bt_three = (Button) findViewById(R.id.bt_listener_three);
        bt_four = (Button) findViewById(R.id.bt_listener_four);
        bt_five = (Button) findViewById(R.id.bt_listener_five);

        //方式二:匿名内部类作为事件监听器类
        bt_two.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ButtonListenerActivity.this,"方式二:匿名内部类",Toast.LENGTH_LONG).show();
            }
        });

        //方式三:内部类作为事件监听器类
        MyButton listener = new MyButton(this);
        bt_three.setOnClickListener(listener);

        //方式四:Activity本身作为事件监听器,实现onClickListener
        bt_four.setOnClickListener(this);

        //方式五:外部类作为事件监听器类
        bt_five.setOnClickListener(new MyButtonListener(this));
    }

    //1.方式一:在布局文件中为button添加onClick属性,Activity实现其方法
    public void buttonClick(View view){
        Toast.makeText(ButtonListenerActivity.this,"方式一:onClick",Toast.LENGTH_LONG).show();
    }

    //方式四:Activity本身作为事件监听器,实现onClickListener--重写onClick()
    @Override
    public void onClick(View v) {
        Toast.makeText(ButtonListenerActivity.this,"方式四:Activity本身作为事件监听器",Toast.LENGTH_LONG).show();
    }

    //方式三:内部类作为事件监听器类
    class MyButton implements View.OnClickListener{
        private Context context;
        public MyButton(Context context){
            this.context = context;
        }
        @Override
        public void onClick(View v) {
            Toast.makeText(context,"方式三:内部类",Toast.LENGTH_LONG).show();
        }
    }


}

  

activity_button_listener.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.langdon.taiyang.androidtest.button.ButtonListenerActivity">

<Button
    android:id="@+id/bt_listener_one"
    android:text="方式一:onClick绑定"
    android:onClick="buttonClick"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
    <Button
        android:id="@+id/bt_listener_two"
        android:text="方式二:匿名内部类"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/bt_listener_three"
        android:text="方式三:内部类监听"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/bt_listener_four"
        android:text="方式四:Activity本身实现监听事件"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/bt_listener_five"
        android:text="方式五:外部类作为监听"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

  MyButtonListener.class

public class MyButtonListener implements View.OnClickListener {
    private Context context;
    public MyButtonListener(Context context){
        this.context = context;
    }
    @Override
    public void onClick(View v) {
        Toast.makeText(context,"方式五:外部类",Toast.LENGTH_LONG).show();
    }
}

 







以上是关于android 监听事件 OnCheckedChangeListener是干啥的的主要内容,如果未能解决你的问题,请参考以下文章

如何监听android的屏幕滑动停止事件

在android系统中,那些被监听对象都有哪些

Android——监听事件总结1

Android事件处理机制

在android中怎样给整个页面设置监听事件

Android的对话框怎么监听触屏事件?