텍스트 편집 필드가 비어 있는지 확인하려면 어떻게 합니까?
5개 있습니다.EditTexts
안드로이드로5개 모두 확인할 수 있는지 알고 싶습니다.EditTexts
null입니다.이것을 할 수 있는 방법이 있습니까?
이런 일을 한 적이 있습니다.
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;
}
private boolean isEmpty(EditText etText) {
if (etText.getText().toString().trim().length() > 0)
return false;
return true;
}
OR As Peraudrius
private boolean isEmpty(EditText etText) {
return etText.getText().toString().trim().length() == 0;
}
함수 반환이 텍스트 편집을 의미하는 경우not empty
그리고 반환은 텍스트 편집이empty
...
EditText를 검증하려면 EditText#setError 메서드를 사용하여 show error를 확인하고 빈 값이나 null 값을 확인하려면 strVar가 null이거나 0 길이인 경우 true를 반환하는 내장 안드로이드 클래스 TextUtils.is Empty(strVar)를 사용합니다.
EditText etUserName = (EditText) findViewById(R.id.txtUsername);
String strUserName = etUserName.getText().toString();
if(TextUtils.isEmpty(strUserName)) {
etUserName.setError("Your message");
return;
}
사용해 보십시오.
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;
}
또는 TextUtils 클래스를 다음과 같이 사용합니다.
if(TextUtils.isEmpty(strUserName)) {
Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
return;
}
파티에 늦었지만 안드로이드 자체 TextUtils.is Empty(CharSequence str)를 추가해야 합니다.
문자열이 null이거나 길이가 0인 경우 true를 반환합니다.
따라서 목록에 다섯 개의 편집 텍스트를 넣으면 전체 코드는 다음과 같습니다.
for(EditText edit : editTextList){
if(TextUtils.isEmpty(edit.getText()){
// EditText was empty
// Do something fancy
}
}
다른 답은 맞지만 다음과 같은 간단한 방법으로 합니다.
if(editText.getText().toString().isEmpty()) {
// editText is empty
} else {
// editText is not empty
}
사용해 보세요.
TextUtils.isEmpty(editText.getText());
사용할 수 있습니다.length()
부터EditText
.
public boolean isEditTextEmpty(EditText mInput){
return mInput.length() == 0;
}
저는 보통 SBJ가 제안하는 것을 하지만 그 반대입니다.저는 단순히 이중 부정 대신 긍정적인 결과를 확인함으로써 제 코드를 더 쉽게 이해할 수 있습니다.빈 EdiText를 확인하는 방법을 묻는 것일 수도 있지만, 실제로 알고 싶은 것은 빈 EdiText가 아닌 내용이 있는지 여부입니다.
이와 같은 경우:
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;
}
SBJ로서 저는 "콘텐츠가 없습니다"(또는)를 반환하는 것을 선호합니다.false
기본적으로 컨텐츠 검사를 중단했기 때문에 예외를 방지합니다.그렇게 하면 당신은 절대적으로 확신할 수 있을 것입니다.true
체크에 의해 "승인"되었습니다.
저는 또한 생각합니다.if
좀 더 깨끗해 보이기도 합니다.
if (hasContent(myEditText)) {
// Act upon content
} else {
// Got no content!
}
그것은 선호도에 매우 의존적이지만, 저는 이것이 읽기 쉽다고 생각합니다. :)
EditText가 비어 있으면 버튼을 비활성화하는 것이 어떻습니까?IMHO 이것은 더 전문적으로 보입니다.
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) {
}
});
나는 이 방법을 사용한다, 그것은trim()
빈 공간을 피하려면:
EditText myEditText = (EditText) findViewById(R.id.editUsername);
if ("".equals(myEditText.getText().toString().trim()) {
Toast.makeText(this, "You did not enter a value!", Toast.LENGTH_LONG).show();
return;
}
여러 개의 편집 텍스트가 있는 경우의 예
if (("".equals(edtUser.getText().toString().trim()) || "".equals(edtPassword.getText().toString().trim()))){
Toast.makeText(this, "a value is missing!", Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(textA.getText())){
showToast(it's Null");
}
TextUtils.is Empty를 내 예처럼 사용할 수 있습니다! 행운을 빕니다.
이 짧은 코드를 사용하여 문자열의 시작과 끝에 있는 빈 공간을 삭제할 수 있습니다.문자열이 ""이면 "error" 메시지를 반환합니다. 그렇지 않으면 문자열이 있습니다.
EditText user = findViewById(R.id.user);
userString = user.getText().toString().trim();
if (userString.matches("")) {
Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
return;
}else{
Toast.makeText(this, "Ok", Toast.LENGTH_SHORT).show();
}
private boolean hasContent(EditText et) {
return (et.getText().toString().trim().length() > 0);
}
저는 용한사를 요.TextUtils
에 사용:
if (TextUtils.isEmpty(UsernameInfo.getText())) {
validationError = true;
validationErrorMessage.append(getResources().getString(R.string.error_blank_username));
}
다음과 같은 조건에서 모든 텍스트 문자열 편집을 확인할 수도 있습니다.
if (mString.matches("") || fString.matches("") || gender==null || docString.matches("") || dString.matches("")) {
Toast.makeText(WriteActivity.this,"Data Incomplete", Toast.LENGTH_SHORT).show();
}
저도 비슷한 걸 하고 싶었어요. 지만편텍에서텍스스트트값처럼 것.(str=="")
나를 위해 일하지 않았습니다.더 나은 옵션은 다음과 같습니다.
EditText eText = (EditText) findViewById(R.id.etext);
if (etext.getText().length() == 0)
{//do what you want }
매력적으로 작동했습니다.
If ELSE If 조건을 사용하여 사용해 보십시오.편집 텍스트 필드의 유효성을 쉽게 확인할 수 있습니다.
if(TextUtils.isEmpty(username)) {
userNameView.setError("User Name Is Essential");
return;
} else if(TextUtils.isEmpty(phone)) {
phoneView.setError("Please Enter Your Phone Number");
return;
}
각 편집 텍스트에 대해 이 함수를 호출할 수 있습니다.
public boolean isEmpty(EditText editText) {
boolean isEmptyResult = false;
if (editText.getText().length() == 0) {
isEmptyResult = true;
}
return isEmptyResult;
}
EditText txtUserID = (EditText) findViewById(R.id.txtUserID);
String UserID = txtUserID.getText().toString();
if (UserID.equals(""))
{
Log.d("value","null");
}
LogCat에 메시지가 표시됩니다.
"이것 봐요, 당신이 좋아할 거예요."
log_in.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
username=user_name.getText().toString();
password=pass_word.getText().toString();
if(username.equals(""))
{
user_name.setError("Enter username");
}
else if(password.equals(""))
{
pass_word.setError("Enter your password");
}
else
{
Intent intent=new Intent(MainActivity.this,Scan_QRActivity.class);
startActivity(intent);
}
}
});
사용하다TextUtils.isEmpty("Text here");
라인
다음은 하나의 진술에서 모두 나에게 효과가 있습니다.
if(searchText.getText().toString().equals(""))
Log.d("MY_LOG", "Empty");
먼저 에서 텍스트를 검색합니다.EditText
그런 다음 문자열로 변환하고 마지막으로 비교합니다.""
용사를 .equals
방법.
이 기능은 저에게 적합합니다.
private void checkForm() {
EditText[] allFields = {
field1_txt,
field2_txt,
field3_txt,
field4_txt
};
List < EditText > ErrorFields = new ArrayList < EditText > ();
for (EditText edit: allFields) {
if (TextUtils.isEmpty(edit.getText())) {
// EditText was empty
ErrorFields.add(edit); //add empty Edittext only in this ArayList
for (int i = 0; i < ErrorFields.size(); i++) {
EditText currentField = ErrorFields.get(i);
currentField.setError("this field required");
currentField.requestFocus();
}
}
}
}
EditText edt=(EditText)findViewById(R.id.Edt);
String data=edt.getText().toString();
if(data=="" || data==null){
Log.e("edit text is null?","yes");
}
else {
Log.e("edit text is null?","no");
}
5개의 편집 텍스트 모두에 대해 이와 같이 수행
사용할 수 있습니다.setOnFocusChangeListener
가 언제 합니다.
txt_membername.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
if (arg1) {
//do something
} else {
if (txt_membername.getText().toString().length() == 0) {
txt_membername
.setError("Member name is not empty, Plz!");
}
}
}
});
if ( (usernameEditText.getText()+"").equals("") ) {
// Really just another way
}
저는 버터나이프 목록 바인딩을 사용한 다음 목록에 작업을 적용하는 것을 선호합니다.예를 들어 EditTexts의 경우 유틸리티 클래스에 정의된 다음과 같은 사용자 지정 작업이 있습니다(이 경우).ButterKnifeActions
)
public static <V extends View> boolean checkAll(List<V> views, ButterKnifeActions.Check<V> checker) {
boolean hasProperty = true;
for (int i = 0; i < views.size(); i++) {
hasProperty = checker.checkViewProperty(views.get(i), i) && hasProperty;
}
return hasProperty;
}
public static <V extends View> boolean checkAny(List<V> views, ButterKnifeActions.Check<V> checker) {
boolean hasProperty = false;
for (int i = 0; i < views.size(); i++) {
hasProperty = checker.checkViewProperty(views.get(i), i) || hasProperty;
}
return hasProperty;
}
public interface Check<V extends View> {
boolean checkViewProperty(V view, int index);
}
public static final ButterKnifeActions.Check<EditText> EMPTY = new Check<EditText>() {
@Override
public boolean checkViewProperty(EditText view, int index) {
return TextUtils.isEmpty(view.getText());
}
};
그리고 보기 코드에서 텍스트 편집을 목록에 바인딩하고 보기를 확인해야 할 때 작업을 적용합니다.
@Bind({R.id.edit1, R.id.edit2, R.id.edit3, R.id.edit4, R.id.edit5}) List<EditView> edits;
...
if (ButterKnifeActions.checkAny(edits, ButterKnifeActions.EMPTY)) {
Toast.makeText(getContext(), "Please fill in all fields", Toast.LENGTH_SHORT).show();
}
물론 이 패턴은 임의의 수의 뷰에서 속성을 확인할 수 있도록 확장할 수 있습니다.유일한 단점은, 그렇게 부를 수 있다면, 보기가 중복된다는 것입니다..edits.get(0)
등,). 으로, 저는 에 한 번, 한 두 번씩 합니다.개인적으로 저는 각 변수를 하나의 변수에 한 번, 목록에 한 번씩 두 번 바인딩하고 적절한 것을 사용합니다.
텍스트를 편집하려면 다음과 같은 간단한 방법으로 다른 작업을 수행하십시오.
String star = editText.getText().toString();
if (star.equalsIgnoreCase("")) {
Toast.makeText(getApplicationContext(), "Please Set start no", Toast.LENGTH_LONG).show();
}
이것을 사용해 보세요: 코틀린에 있습니다.
//button from xml
button.setOnClickListener{
val new=addText.text.toString()//addText is an EditText
if(new=isNotEmpty())
{
//do something
}
else{
new.setError("Enter some msg")
//or
Toast.makeText(applicationContext, "Enter some message ", Toast.LENGTH_SHORT).show()
}
}
감사해요.
언급URL : https://stackoverflow.com/questions/6290531/how-do-i-check-if-my-edittext-fields-are-empty
'source' 카테고리의 다른 글
파이썬에서 스레드 내부에서 호출할 때 sys.exit()이 종료되지 않는 이유는 무엇입니까? (0) | 2023.08.02 |
---|---|
Global.asax를 디버깅할 수 있습니까? (0) | 2023.08.02 |
목표 C(iOS)에서 이미지에 텍스트를 쓰는 방법은 무엇입니까? (0) | 2023.08.02 |
Android Emulator의 스토리지를 늘리는 방법 (INSTALL_FAILED_)_스토리지 부족) (0) | 2023.08.02 |
'void' 유형은 'Observable' 유형에 할당할 수 없습니다.입력 <{}> (0) | 2023.08.02 |