我有editText
的验证。如果editText
字段为空,它应该失败验证,并阻止用户移动到另一个Activity
,因为需要一个值。如何做到这一点?我知道这是一个基本问题,但我不知道如何做到这一点。
我的代码:
btninsert = (Button)findViewById(R.id.btn_insert);
btninsert.setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
insertValues();
EditText userName = (EditText) findViewById(R.id.editText1);
if( userName.getText().toString().length() == 0 )
userName.setError( "First name is required!" );
Intent i = new Intent(getApplicationContext(), Login.class);
startActivity(i);
}
});
单击此Button
时,用户将被重定向到下一个屏幕,但我需要在验证失败时保持当前Activity
,并且仅在验证成功(即已输入值)时转到下一个Activity
。
8条答案
按热度按时间q5lcpyga1#
这很容易...检查您的EditText是否为空,如下面的示例所示。
以下是Kotlin的版本:
s3fp2yjn2#
试试这个:
0aydgbwb3#
你也可以试试这个:
qkf9rpyu4#
我遇到了一个类似的问题。在我的情况下,我有很多编辑文本要验证,其中一些是另一个布局的孩子。提示:所有的视图都必须在同一个根视图中。2简单地说:
63lcw9qa5#
我知道这是一个老问题,但可能会有所帮助,您可以使用.isEmpty()代替.equals()
kqlmhetl6#
最好对所有必需的或特殊的验证用例使用If条件测试空的textField,并将setError作为焦点。
zpgglvta7#
我知道这是一篇老文章,但是我的应用程序中需要类似的功能,所以我决定开发一个简单但强大的验证器,以便于重用。
link for github repo它超级容易使用。
1.创建要设置为必填字段的列表
1.调用
validateViewFields
方法并传递视图列表活动的代码示例:
czq61nw18#
活动.xml
样式.xml
Activity.kt
实用工具类kt