Android 复选框 怎么设事件监听器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 复选框 怎么设事件监听器相关的知识,希望对你有一定的参考价值。

不好意思,问题问得有点不对,是复选对话框,要求点击确定之后,要更具所选内容跳转

 /**

     * 创建复选框对话框

     */

    @Override

    protected Dialog onCreateDialog(int id) 

        Dialog dialog=null;

        switch (id) 

        case DIALOG:

            Builder builder=new android.app.AlertDialog.Builder(this);

            //设置对话框的图标

            builder.setIcon(R.drawable.header);

            //设置对话框的标题

            builder.setTitle("复选框对话框");

            builder.setMultiChoiceItems(R.array.hobby, flags, new DialogInterface.OnMultiChoiceClickListener()

                publicvoid onClick(DialogInterface dialog, int which, boolean isChecked) 

                    flags[which]=isChecked;

                    String result ="您选择了:";

                    for (int i =0; i < flags.length; i++) 

                        if(flags[i])

                            result=result+items[i]+"、";

                       

                   

                    editText.setText(result.substring(0, result.length()-1));

               

            );

           

            //添加一个确定按钮

            builder.setPositiveButton(" 确 定 ", new DialogInterface.OnClickListener()

                publicvoid onClick(DialogInterface dialog, int which) 

                   

               

            );

            //创建一个复选框对话框

            dialog=builder.create();

            break;

       

        return dialog;

   

参考技术A android没有复选对话框吧,组合起来就还是和多选框一样了,多选框的监听和单选框一样,也是setOnCheckchangeListener(引入包的时候注意别引成RadioButton的),你吧这个选择的状态保存起来,然后点确定的时候根据这个状态来处理就好了。 参考技术B RadioGroup radioGroup = ... ...;

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
public void onCheckedChanged(RadioGroup group, int checkedId)


);

Checkboxes(复选框)

概述

复选框允许用户从一组中选择一个或多个设定好的选项。通常情况下,你应该用一个垂直列表来显示你的复选框。 创建一个复选框,需要在你的布局中创建一个 CheckBox  。因为一组复选框允许用户选择多项,每一个复选框都单独管理,你必须为每一个都注册点击监听器。

响应点击事件

当用户选择一个复选框时,   CheckBox  对象收到一个on-click 事件。 为复选框定义点击事件处理者,在你的xml布局文件中的 <CheckBox>元素 添加 android:onClick  属性。属性的值必须和处理点击事件的方法名称一致。持有该布局的Activity 必须实现对应的方法。 例如,这里展示了一对复选框对象:
   
    
     <?xml version="1.0" encoding="utf-8"?>
    
    
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
    
         android:orientation="vertical"
    
    
         android:layout_width="fill_parent"
    
    
         android:layout_height="fill_parent">
    
    
         <CheckBox android:id="@+id/checkbox_meat"
    
    
             android:layout_width="wrap_content"
    
    
             android:layout_height="wrap_content"
    
    
             android:text="@string/meat"
    
    
             android:onClick="onCheckboxClicked"/>
    
    
         <CheckBox android:id="@+id/checkbox_cheese"
    
    
             android:layout_width="wrap_content"
    
    
             android:layout_height="wrap_content"
    
    
             android:text="@string/cheese"
    
    
             android:onClick="onCheckboxClicked"/>
    
    
     </LinearLayout>
    
   
在对应的activity中,下面的方法处理了复选框的点击事件:
   
    
     public void onCheckboxClicked(View view) 
    
    
         // Is the view now checked?
    
    
         boolean checked = (CheckBox) view).isChecked();
    
    
         
    
    
         // Check which checkbox was clicked
    
    
         switch(view.getId()) 
    
    
             case R.id.checkbox_meat:
    
    
                 if (checked)
    
    
                     // Put some meat on the sandwich
    
    
                 else
    
    
                     // Remove the meat
    
    
                 break;
    
    
             case R.id.checkbox_cheese:
    
    
                 if (checked)
    
    
                     // Cheese me
    
    
                 else
    
    
                     // I'm lactose intolerant
    
    
                 break;
    
    
             // TODO: Veggie sandwich
    
    
         
    
    
     
    
   
android:onClick  属性中声明的方法必须和上面展示的名称一致 ,特别的,该方法必须:
  • 是公共方法(pubic)
  • 返回空值(return void)
  • 只有一个View作为它的参数(这个View就是被点击的那个)
技巧:如果你需要改变你自定义的单选按钮样式,使用   setChecked(boolean)  或 toggle()  方法。







以上是关于Android 复选框 怎么设事件监听器的主要内容,如果未能解决你的问题,请参考以下文章

Android:RadioGroup - 如何配置事件监听器

Android——监听事件总结1

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

android的事件处理机制有两种

Android 自定义事件监听器

layui 下 监听单选框radio改变事件