我已经创建了一个带有文本的checkbox,并将其设置为invisible。当前它是unchecked,我知道该复选框的位置,因为我在上面有框。我希望在该位置点击时选中该框并使其可见(此刻不可见)。
我不确定这是否可行,因为经过数小时的谷歌搜索后我找不到任何东西。请共享以下代码。
<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 {...
您可以尝试像这样添加onClickListener:
check_diabetes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
check_diabetes.setVisibility(View.VISIBLE);
check_diabetes.setChecked(true);
}
});