标签: android-checkbox

当复选框改变状态时如何做某事?

这是我的代码:

    <CheckBox
        android:id="@+id/sprint_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/sprint_game" />

    <CheckBox
        android:id="@+id/marathon_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/marathon" />

    <CheckBox
        android:id="@+id/never_ending_checkbox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/never_ending" />
Run Code Online (Sandbox Code Playgroud)

我想要做的是"检测"其中一个被检查,然后将另外两个设置为"禁用",因此用户只能选择一个.我试图使用".setOnCheckedChangeListener",但我不能这样做,有人可以帮我一些代码吗?非常感谢!

checkbox android oncheckedchanged android-checkbox

11
推荐指数
1
解决办法
3万
查看次数

CheckBox没有出现在CheckedTextView中

当我设置我的时候CheckedTextView,它没有CheckBox.这是它的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <CheckedTextView
            android:id="@+id/checkedtext"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:checked="false"
            android:textSize="25dp"
            android:textColor="#FFFFFF"
            android:checkMark="@android:attr/checkMark"
            />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android android-checkbox android-relativelayout

10
推荐指数
2
解决办法
1万
查看次数

ListView项目带复选框 - 如何删除复选框涟漪效果?

我有一个带有项目的ListView包含一个复选框和一些其他元素.问题是,当我点击Android 5+设备上的列表项时,我看起来像这样:

在此输入图像描述

我不想在复选框周围产生涟漪效应.我该如何实现这一目标?

项目XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="@dimen/list_item_height"
          android:gravity="center_vertical"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin">

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_check"
        android:checked="false"
        android:focusable="false"
        android:layout_marginRight="32dp"
        android:clickable="false"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_title"
        android:textAppearance="@android:style/TextAppearance.Medium"
        android:maxLines="1"
        android:lines="1"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android listview android-layout android-checkbox material-design

9
推荐指数
1
解决办法
3080
查看次数

isChecked()行为与2.3.6和4.2安卓版本完全相反

我正在开发一个简单的Android应用程序,它创建一个带有复选框的ListView,如下所示

listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,results);
this.setListAdapter(listAdapter);
ListView lv = getListView();
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

lv.setOnItemClickListener(new OnItemClickListener(){
    @Override
     public void onItemClick(AdapterView<?> parent, View view, int position,
                        long id) {
           CheckedTextView check = (CheckedTextView)view;
           //The below code needed for running on AVD version 4.2
           if(check.isChecked()) { 
                   // Checkbox checked do something 
            } 
           else { 
                    // Not checked. Do something 
            }
            /* Exact opposite need on Samsung phone running 2.3.6
            if(!check.isChecked()) {
                      // Checkbox checked do something
            }
            else {
             // Not checked. DO something …
Run Code Online (Sandbox Code Playgroud)

android android-checkbox

8
推荐指数
1
解决办法
796
查看次数

警报对话框中具有多选复选框的列表?

我一直试图获得一个列表,其中包含10-12个项目,每个项目在警报对话框中都有一个复选框(即我的活动开始时).到目前为止,我已经提出了以下代码; 它没有复选框.
那么,我该如何实现呢?任何示例代码或建议将不胜感激.
谢谢

final CharSequence[] items = {"cat1","cat2","cat3" };
          AlertDialog.Builder builder = new AlertDialog.Builder(this);
          builder.setTitle("Categories");
          builder.setItems(items, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int item) {
            switch (item) {
            case 0:
             //handle item1
             break;
            case 1:
             //item2
             break;
            case 2:
             //item3
             break;
            default:
             break;
            }  }
          });
          AlertDialog alert = builder.create();
          alert.show();
Run Code Online (Sandbox Code Playgroud)

android android-listview android-alertdialog android-checkbox

8
推荐指数
1
解决办法
5803
查看次数

列表视图中的复选框样式不正确

我在列表视图中显示的复选框中存在样式问题.我的应用使用的主题是Holo,但复选框以旧样式显示.出现在别处的复选框看起来很好.我没有做任何花哨的事情,比如创造我自己的风格.截图:

在此输入图像描述

复选框应该看起来像右图上的复选框.这是在v4.0.3上.复选框看起来应该在我尝试使用v4.4.2的其他设备上.

列表视图行的XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <CheckBox android:id="@+id/ListRow_Task_TaskComplete" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="6sp"
        android:focusable="false" />

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:paddingTop="7dip"
        android:paddingBottom="7dip"
        android:layout_toRightOf="@+id/ListRow_Task_TaskComplete"
        android:layout_centerVertical="true" >

        <TextView android:id="@+id/ListRow_Task_Name" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:textSize="16sp" />

        // next two textviews are programmatically hidden right now
        <TextView android:id="@+id/ListRow_Task_Deadline" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text=""
            android:textSize="12sp" />

        <TextView android:id="@+id/ListRow_Task_Tags" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/icon_tag"
            android:drawablePadding="4dip"
            android:textSize="12sp" />  

    </LinearLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

如何使左侧的复选框看起来像它们应该的那样?

android android-listview android-checkbox android-styles

8
推荐指数
1
解决办法
1087
查看次数

CheckBox上的API21 setButtonTintList

我正在尝试使用新的Android Lollipop API setButtonTintList()以编程方式将颜色应用于android CheckBoxes.

我已经设置了以下基本ColorStateListcheckbox_color.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
          android:color="@color/red" />

    <item android:state_checked="false"
          android:color="@color/green" />

</selector>
Run Code Online (Sandbox Code Playgroud)

Button在我的应用程序中的特定点击我膨胀一个新的布局,其中包含一个CheckBox到我的主布局(mLayoutTotalItemRow)通过:

View itemRow = getActivity().getLayoutInflater().inflate(R.layout.row_add_purchase, mLayoutTotalItemRow, false);
Run Code Online (Sandbox Code Playgroud)

通胀后,我想申请checkbox_color.xml新的CheckBox通道(我想在代码而不是xml中执行此操作的原因是我想根据一些变量设置不同的颜色):

mCheckBoxEnabled.setButtonTintList(mContext.getResources().getColorStateList(R.color.checkbox_color));
Run Code Online (Sandbox Code Playgroud)

现在出现一个奇怪的事情,当CheckBox它第一次创建时,它是红色的(因此state_checked="true".一旦我取消选中它,它就是绿色(state_chacked="false").但是当我现在再次检查它时,它会变为勾选但它保持绿色!因此不知何故内部视图状态未更改为"已检查".

我的复选框xml:

   <CheckBox
    android:id="@+id/cb_item_enabled"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/key_line_1_minus_checkbox_margin"
    android:layout_marginEnd="@dimen/key_line_2_minus_key_line_1_minus_checkbox"
    android:layout_gravity="center_vertical"
    android:checked="true"/>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么想法?

android android-checkbox android-5.0-lollipop

8
推荐指数
1
解决办法
2017
查看次数

删除复选框默认填充

我希望复选框与其下方的编辑文本具有相同的对齐方式。将左填充设置为 0 没有任何作用,看起来该空间是组件的一部分。

在此处输入图片说明

android android-checkbox

8
推荐指数
1
解决办法
3541
查看次数

在android中定义custom-checkbox

如何在android中制作自定义复选框

我目前的XML ::

<LinearLayout
            android:id="@+id/linearLayout_individualdays"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_below="@+id/linearLayout_type_of_days"
            android:gravity="center|top"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingTop="10dp"
            android:visibility="gone" >

            <CheckBox
                android:id="@+id/checkBox1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Mon" />

            <CheckBox
                android:id="@+id/checkBox2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Tue" />

            <CheckBox
                android:id="@+id/checkBox3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Wed" />

            <CheckBox
                android:id="@+id/checkBox4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Thu" />

        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

输出 ::

在此输入图像描述

但如何制作如下的东西 ::

在此输入图像描述

  • 这里蓝色边框显示其选中
  • 否则它没有被选中
  • 它必须是一个复选框

希望我清楚!

android android-checkbox

7
推荐指数
2
解决办法
2万
查看次数

选中时更改复选框文本颜色

我想在选中CheckBox时更改文本的颜色.这就是我现在所拥有的:

<CheckBox
    android:id="@+id/checkbox"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:background="@drawable/states"
    android:gravity="center_horizontal|center_vertical"
    android:button="@null"
    android:text="test/>
Run Code Online (Sandbox Code Playgroud)

选中复选框后,通常会更改复选框背景.问题是文字.它始终是相同的颜色.选中复选框后,如何更改文本颜色?

这是我改变复选框背景状态的方法(因为简单,我删除了额外内容):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_checked="false">
        <layer-list >
            <item>
                <shape android:shape="oval">
                </shape>
            </item>
        </layer-list>
    </item>

    <item android:state_checked="true" >
        <layer-list >
            <item>
                <shape android:shape="oval">
                </shape>
            </item>
        </layer-list >
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

android android-checkbox

7
推荐指数
1
解决办法
1万
查看次数