zoukankan      html  css  js  c++  java
  • 安卓界面组件单选复选按框

        安卓界面UI为开发者提供了单选复选框,单选框和复选框继承了安卓的普通按钮,所以他们可以直接使用普通按钮的xml基本属性。他们与普通按钮区别在于提供了可以选中的功能,同时二者之间的区别是:单选按钮在按钮组中,当用户点击选择以后,这个按钮组就必须有一个被选中,只能改选,无法撤销(所以单独的一个单选框功能上很尴尬,点击以后状态不能再更改,很僵硬);复选框可以提供复选功能,一组中可以多个被选中,并且能够全部撤销。

    一   单选按钮属性

        由于单选按钮直接继承了普通按钮,所以它可以使用普通按钮的所有属性,因此:xml属性就不介绍了,大家可以在eclipse当中操作一下。在组件使用上,一般推荐界面添加单选按钮组<RadioGroup>,之后可以向里面添加单个的<RadioButton>或是减少单选按钮。如下图:

        单选按钮事件监听:1>由于单选按钮是包裹在<RadioGroup>中,我们可以对组件<RadioGroup>进行监听。

                                 2><RadioGroup>里面的单选按钮作为独立的组件,都能够实现监听接口,实现监听。

    代码举例:(<RadioGroup>和<RadioButton>各自实现监听)

    /*
    *通过RadioGroup 进行监听,接口内部onCheckedChanged中实现我们需要的功能
    */
    
     RadioGroup sex = (RadioGroup)findViewById(R.id.radioGroup1);
            sex.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                
                @Override
    public void onCheckedChanged(RadioGroup radioGroup1, int checkedid) {
                    
            RadioButton r = (RadioButton)findViewById(checkedid);
            r.getText();
        }
    });
    
    
    
    /*
    *通过RadioButton 进行监听,查找所有的RadioButton 寻找选中的单选按钮
    */
    
     final RadioGroup sex = (RadioGroup)findViewById(R.id.radioGroup1);
     Button button = (Button)findViewById(R.id.button1);
     button.setOnClickListener(new OnClickListener() {
                
                @Override
         public void onClick(View v) {
        for(int i = 0;i < sex.getChildCount();i ++){
           RadioButton r = (RadioButton)sex.getChildAt(i);
            if(r.isChecked()){
                r.getText();
                break;
            }
        }
                    
        }
    });

    二    复选框属性

             复选框是Button子类,能够使用Button的属性。与单选按钮不同的是复选框能够进行多行设置,每个复选框能够单独的选中或取消选中状态。

             由于单个复选框能够单独选中或是不选中,因此事件监听上要单独设置监听。

    final CheckBox cb = (CheckBox)findViewById(R.id.checkBox1);
    cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                
        @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isCheched) {
            if(cb.isChecked()){
                cb.getText();
            }
                    
        }
    });

          总结:水平有限,请留言批评指正!

  • 相关阅读:
    从Python到Web开发
    源码安装缺少configure文件
    5
    4
    3
    2
    42
    1
    18
    41
  • 原文地址:https://www.cnblogs.com/divingpig/p/6440831.html
Copyright © 2011-2022 走看看