首页 > 解决方案 > 验证复选框是否选中 editext 不是必须的,如果未选中 editext 是必须的

问题描述

我在验证复选框和链接在一起的编辑文本时遇到问题,如果选中复选框,编辑文本字段可以为空,如果未选中,编辑文本字段不能为空

标签: java

解决方案


由于您没有提供任何代码,因此我编写了一些片段来帮助解释您如何完成此操作。

XML

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/checkbox"
    android:layout_gravity="center_horizontal"
    android:text="Check me!"/>
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/edittext"
    android:layout_gravity="center_horizontal"
    android:hint="Edit me!"/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button"
    android:layout_gravity="center_horizontal"
    android:text="Click me!"/>

Java 类

final CheckBox cb = (CheckBox) findViewById(R.id.checkbox);
final EditText et = (EditText) findViewById(R.id.edittext);
final Button bt = (Button) findViewById(R.id.button);

bt.setOnClickListener( new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        if(cb.isChecked()){
            if(et.getText().toString().isEmpty()) {
                Toast.makeText(MainActivity.this, "Checkbox checked and EditText empty", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(MainActivity.this, "Checkbox checked and EditText not empty", Toast.LENGTH_SHORT).show();
            }
        }else{
            if(et.getText().toString().isEmpty()) {
                Toast.makeText(MainActivity.this, "Checkbox not checked and EditText empty", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(MainActivity.this, "Checkbox not checked and EditText not empty", Toast.LENGTH_SHORT).show();
            }
        }
    }
});

希望你能从这里拿走它。如您所见,CheckBox 和 EditText 有 4 种不同的情况

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

请记住,在我的代码中,if 语句在单击按钮时发生,但您可能希望进行不同的检查。无论如何,如何处理每种不同的情况取决于您。


推荐阅读