Win*_*ona 208 android android-edittext
我EditTexts在Android中有5个用户输入.我想知道我是否可以有一个方法来检查所有5,EditTexts如果它们是null.有没有办法做到这一点?
cva*_*mar 347
我做过一次这样的事情;
EditText usernameEditText = (EditText) findViewById(R.id.editUsername);
sUsername = usernameEditText.getText().toString();
if (sUsername.matches("")) {
Toast.makeText(this, "You did not enter a username", Toast.LENGTH_SHORT).show();
return;
}
Run Code Online (Sandbox Code Playgroud)
SBJ*_*SBJ 181
private boolean isEmpty(EditText etText) {
if (etText.getText().toString().trim().length() > 0)
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
或作为每个audrius
private boolean isEmpty(EditText etText) {
return etText.getText().toString().trim().length() == 0;
}
Run Code Online (Sandbox Code Playgroud)
如果函数返回false意味着edittext是not empty,则返回true意味着edittext是empty...
Mil*_*ank 140
要验证EditText,请使用EditText#setError 方法显示错误,并检查空值或空值使用内置的android类 TextUtils.isEmpty(strVar),如果strVar为null或零长度,则返回true
EditText etUserName = (EditText) findViewById(R.id.txtUsername);
String strUserName = etUserName.getText().toString();
if(TextUtils.isEmpty(strUserName)) {
etUserName.setError("Your message");
return;
}
Run Code Online (Sandbox Code Playgroud)

Hou*_*ine 36
试试这个 :
EditText txtUserName = (EditText) findViewById(R.id.txtUsername);
String strUserName = usernameEditText.getText().toString();
if (strUserName.trim().equals("")) {
Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
return;
}
Run Code Online (Sandbox Code Playgroud)
或者像这样使用TextUtils类:
if(TextUtils.isEmpty(strUserName)) {
Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
return;
}
Run Code Online (Sandbox Code Playgroud)
Qw4*_*4z1 27
这里派对的方式很晚,但我只需添加Android自己的TextUtils.isEmpty(CharSequence str)
如果字符串为null或0-length,则返回true
因此,如果您将五个EditTexts放在一个列表中,那么完整的代码将是:
for(EditText edit : editTextList){
if(TextUtils.isEmpty(edit.getText()){
// EditText was empty
// Do something fancy
}
}
Run Code Online (Sandbox Code Playgroud)
Xar*_*mer 19
其他答案是正确的,但是做的很简单
if(editText.getText().toString().isEmpty()) {
// editText is empty
} else {
// editText is not empty
}
Run Code Online (Sandbox Code Playgroud)
您可以使用length()从EditText.
public boolean isEditTextEmpty(EditText mInput){
return mInput.length() == 0;
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我通常会做SBJ提出的建议,但反过来说.我只是通过检查肯定结果而不是双重否定来更容易理解我的代码.你可能会问如何检查空的EdiTexts,但你真正想知道的是它是否有任何内容而不是它是空的.
像这样:
private boolean hasContent(EditText et) {
// Always assume false until proven otherwise
boolean bHasContent = false;
if (et.getText().toString().trim().length() > 0) {
// Got content
bHasContent = true;
}
return bHasContent;
}
Run Code Online (Sandbox Code Playgroud)
作为SBJ,我更喜欢返回"没有内容"(或false)作为默认值以避免异常,因为我对内容进行了检查.这样你就可以绝对肯定true你的支票已经"批准"了.
我也认为if它的调用看起来也更清洁了:
if (hasContent(myEditText)) {
// Act upon content
} else {
// Got no content!
}
Run Code Online (Sandbox Code Playgroud)
它非常依赖于偏好,但我发现这更容易阅读.:)
如果EditText为空,为什么不禁用按钮呢?恕我直言,这看起来更专业:
final EditText txtFrecuencia = (EditText) findViewById(R.id.txtFrecuencia);
final ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleStartStop);
txtFrecuencia.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
toggle.setEnabled(txtFrecuencia.length() > 0);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
417136 次 |
| 最近记录: |