复选框不显示在自定义行中

时间:2016-08-31 07:35:53

标签: android android-layout

我有一个在自定义适配器中充气的自定义行,但自定义行中的复选框不可见。

这里是行的xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:paddingTop="7dp">

<android.support.v7.widget.AppCompatCheckBox
    android:id="@+id/delete_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginTop="10dp" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:orientation="vertical">

    <TextView
        android:id="@+id/company_symbol"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/unknown"
        android:textColor="@color/md_grey_600"
        android:textSize="18dp" />

    <TextView
        android:id="@+id/company_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingRight="10dp"
        android:text="@string/unknown"
        android:textColor="@color/md_grey_800"
        android:textSize="12dp" />

</LinearLayout>

我希望复选框显示在行的左侧,但结果如下:

Complete ListView

有关复选框未显示原因的任何帮助都表示赞赏

3 个答案:

答案 0 :(得分:1)

取代 android.support.v7.widget.AppCompatCheckBox ,而不是 CheckBox

它已经在其文档

中编写

当您在布局中使用 CheckBox 时,将自动使用此选项。编写自定义视图时,您只需手动使用此类。

test

答案 1 :(得分:0)

如上所述,请勿使用包装内容和重量。在这里,您应该使用android:layout_width="0dp"代替。

<android.support.v7.widget.AppCompatCheckBox
android:id="@+id/delete_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="10dp" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:orientation="vertical">

答案 2 :(得分:0)

试试这个。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:weightSum="4"
android:paddingTop="7dp">

<android.support.v7.widget.AppCompatCheckBox
    android:id="@+id/delete_checkbox"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginTop="10dp" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:orientation="vertical">

    <TextView
        android:id="@+id/company_symbol"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/unknown"
        android:textColor="@color/md_grey_600"
        android:textSize="18dp" />

    <TextView
        android:id="@+id/company_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingRight="10dp"
        android:text="@string/unknown"
        android:textColor="@color/md_grey_800"
        android:textSize="12dp" />

        </LinearLayout>

</LinearLayout>

希望它可能有帮助。!