在我的表格中,我有一个CeckBox,需要检查才能提交。如果未选中,我调用setError()来警告用户。但是,一旦显示错误,无论是否选中复选框,它都不会消失。 其他错误是如果错误文本很长,它看起来不完整。在横向模式下,它看起来很完整。
复选框xml:
<CheckBox
android:id="@+id/reg_terms"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Li e concordo com os Termos de Uso."
android:focusableInTouchMode="true"
android:focusable="true"
android:textColor="#000000"
android:checked="false"
/>
验证(在submitButtons的onClick内部):
if(!reg_terms.isChecked()){
reg_terms.setError("É preciso aceitar os Termos de Uso");
validation = false;
}
如果用户选中该框,我可以使用“addOnFocusChangedListener”methot来“解除”错误吗?我怎样才能避免错误文本显示不完整?
VieledankefüralleHilfe。 :d
答案 0 :(得分:6)
就清除错误而言,您可以像这样添加OnCheckedChangeListener:
reg_terms.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if ( isChecked ) {
reg_terms.setError(null);
} else {
reg_terms.setError("É preciso aceitar os Termos de Uso");
}
}
});
就个人而言,我也会将字符串提取到您的R.strings中,并在XML和代码中引用它。
对于文本换行,请尝试将reg_terms.setMaxLines(2)
添加到代码中,以允许文本最多填充2行。我不确定这是否有效,但值得一试。