android(3)

来源:互联网 发布:中科软件集团有限公司 编辑:程序博客网 时间:2024/05/17 14:17

今天,来说说android里面几大控件常用的监听器!


首先来说说EditText,查看一下官方文档,发现这个类上有这个一个方法

void setOnHoverListener(View.OnHoverListener l)
Register a callback to be invoked when a hover event is sent to this view.

意思就是说当你当在这个View发生Event时就调用这个函数,一般像这种都是采用匿名内部类来写,比如

editText.setOnKeyListener(new View.OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                textView.setText("文本显示的内容是" + editText.getText().toString());
                return false;
            }
        });


这个匿名内部类去实现一个接口,并且重写这个接口底下的一个方法。就这么简单。。。。


第二个就是RadioGroup和RadioButton这两个类,也是类似用这个同样的方法,只是点击调用的名字变了而已,

void setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener listener)

Register a callback to be invoked when the checked radio button changes in this group.

例子:

radioGroup
                .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

                    @Override
                    public void onCheckedChanged(RadioGroup group, int checkedId) {
                        if (checkedId == radioButton02.getId()) {
                            DisplayToast("正确的答案:" + radioButton02.getText()
                                    + "恭喜你,回答正确!");
                        } else {
                            DisplayToast("请注意,回答错误!");
                        }
                    }

                });

这里需要稍微注意一下,RadioButton是被包在RadioGroup里面的,所以当你点击RadioButton时,调用的是放在RadioGroup的监听器。

第三个ChenckBox这个控件,跟RadioGroup一样的调用方法,不多说!

最后一个就是Sprinner这个类了,这个类我感觉设计的比较好看,大多开发人都喜欢使用它!

至于这个类使用监听器的方法就跟上面的不同,但是思想基本是一样的。

void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener)

Register a callback to be invoked when an item in this AdapterView has been selected.
同样你要去实现这个接口底下的方法,但是这个接口有两个还没有被实现的方法,所以你需要去重写它。


abstract void onItemSelected(AdapterView<?> parent, View view, int position, long id)

Callback method to be invoked when an item in this view has been selected.

abstract void onNothingSelected(AdapterView<?> parent)
Callback method to be invoked when the selection disappears from this view.



至于后面会遇到其他的一些其他的监听器,到时后再说!

原创粉丝点击