我在EdidText
中有一个Button
和一个Fragment
。当我点击Button
时,我想检查EditText
是否为空。如果为空,我想返回错误消息,如果notEmpty意味着移动到其他fragments
或其他进程。
我以前在解决方案中搜索我的问题,但大多数情况下我找到了解决方案,
if(textView.getText().toString().trim().equals("")) {
textView.setError("something");
} else {
//do something;
}
上面的代码工作正常,但我要问的是,如何在布局中以编程方式执行此操作。
我想知道这是通过布局xml文件实现的。如果可能,请举个例子。
提前谢谢。
答案 0 :(得分:1)
您无法使用XML设置错误。
您需要在片段的onCreate中设置它。这样,如果在xml或代码中设置它,您将无法看到差异。
您可以编写自己的EditText并添加额外的样式属性"错误"。之后,您需要使用自己的EditText并再次在onCreate中设置错误。
创建一个新类并从EditText扩展它,如下所示:
public class MyEditText extends EditText {
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyEditText);
String error = a.getString(R.styleable.MyEditText_error);
a.recycle();
setError(error);
}
}
在Attr中添加:
<declare-styleable name="MyEditText">
<attr name="error" format="reference|string" />
</declare-styleable>
之后,您需要始终使用MyEditText
答案 1 :(得分:0)
使用此代码检查
editText.getText().toString().isEmpty()