如何在android studio中检查不可见的复选框

问题描述 投票:0回答:1

我已经创建了一个带有文本的checkbox,并将其设置为invisible。当前它是unchecked,我知道该复选框的位置,因为我在上面有框。我希望在该位置点击时选中该框并使其可见(此刻不可见)。

我不确定这是否可行,因为经过数小时的谷歌搜索后我找不到任何东西。请共享以下代码。

xml代码

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="5dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_diabetes"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:layout_gravity="center_vertical"
                android:fontFamily="@font/ubuntu_regular"
                android:layout_weight="0.2"
                android:text="@string/diabetes"
                android:textColor="@color/textColorAsh"
                android:textSize="16sp" />

            <CheckBox
                android:id="@+id/check_diabetes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:theme="@style/checkBoxStyle"
                android:visibility="invisible" />
        </LinearLayout>

这里是我尝试以编程方式使其可见的方式。但是,当我点击渲染的地方时,它是不可见的。

       case R.id.check_diabetes:
            if (b == true) {
                tv_diabetes.setTextColor(getResources().getColor(R.color.textColorBlue));
                check_diabetes.setVisibility(View.VISIBLE);
                diabetes = "1";
            } else {...
java android android-studio android-layout android-checkbox
1个回答
0
投票

您可以尝试像这样添加onClickListener:

 check_diabetes.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            check_diabetes.setVisibility(View.VISIBLE);
            check_diabetes.setChecked(true);
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.