这是我的代码:
<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",但我不能这样做,有人可以帮我一些代码吗?非常感谢!
当我设置我的时候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) 我有一个带有项目的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
我正在开发一个简单的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) 我一直试图获得一个列表,其中包含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
我在列表视图中显示的复选框中存在样式问题.我的应用使用的主题是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 Lollipop API setButtonTintList()以编程方式将颜色应用于android CheckBoxes.
我已经设置了以下基本ColorStateList在checkbox_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)
我在这里做错了什么想法?
我目前的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)
输出 ::

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

希望我清楚!
我想在选中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)