java - 验证复选框是否选中 editext 不是必须的,如果未选中 editext 是必须的
问题描述
我在验证复选框和链接在一起的编辑文本时遇到问题,如果选中复选框,编辑文本字段可以为空,如果未选中,编辑文本字段不能为空
解决方案
由于您没有提供任何代码,因此我编写了一些片段来帮助解释您如何完成此操作。
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 语句在单击按钮时发生,但您可能希望进行不同的检查。无论如何,如何处理每种不同的情况取决于您。
推荐阅读
- javascript - 在passportjs中获取req.user未定义?
- jquery - 向下滚动页面时显示滚动更新
- powershell - 获取 Distribution List 多个 Owners 作为交换
- python - 如何根据日期时间差异拆分数据框?
- c# - AutoMapper 无法在对象内映射对象
- nginx - Zabbix 奇怪的行为,无法访问网页界面
- python - sublimetext3 中的自动补全
- python - 从 QMainWindow 调用具有变量名的 Python 函数
- c# - 无法从配置中获取 ConnectionString 值
- c# - 安全截断字符串包含颜色标签