2014-02-20 3 views
0

입력 할 때 최대 길이가 140자인 EditText입니다. 이제 하나의 버튼이 있습니다. 버튼을 클릭하면 편집 텍스트의 내용이 로그 고양이에 인쇄됩니다. 이것까지는 구현했습니다.android에서 Edittext의 단어 길이를 찾는 방법은 무엇입니까?

하지만 내 질문은 의미가없는 연속 된 텍스트 (예 : "ajldjlkdjkjfdjdjjd")가 인쇄되어서는 안되며 단어 대신 10 단어 정도의 단어 길이를 검사해야한다는 것입니다. 문법. 이것을 구현하는 방법? 어떤 아이디어라도 도움이 될 것입니다. 미리 감사드립니다.

참고 : - 나는 단어와 숫자를 입력 할 수 있습니다. 단어를 입력하지 않으면 단어가 메시지를 알려야합니다.

+0

http://stackoverflow.com/questions/14192199/validation-allow-only-number-and-characters-in-edit-text-in-android이 – rajshree

+0

@rajshree 참조 - "하지만 내 질문은 , 의미가없는 연속 된 텍스트 (예 : "ajldjlkdjkjfdjdjjd")가 인쇄되어서는 안되며, 단어의 길이가 문법에 대해 대략 10 단어 길이를 검사해야한다는 것을 의미하는 단어에 대해 유효성을 검사해야합니다. " – TheLostMind

+0

ok, dwords sholud는 아닙니다. 왔다?? – rajshree

답변

4

다음 코드 스 니펫을 사용할 수 있습니다. 길이가 적절할 때 코드를 추가하십시오.

//Prepare object of Edit Text 
    EditText editText = (EditText) findViewById(R.id.editText1); 
    //Get String entered by user 
    String enteredText = editText.getText().toString(); 
    //split string to get every word using _ (space) and add all word to an array 
    String[] words = enteredText.split(" "); 
    for (int i = 0; i < words.length; i++) { 
     if (words[i].length() > 10) { 
      //handle if any word is > 10 ch. 
      break; 
     }else{ 
      //handle if word is meaning full or not 
     } 
    } 
+0

Anil Savaj,이 논리는 작동하지만 문제는 내가 공백없이 텍스트를 입력하면 작동하지 않는다는 것입니다. – arun

+0

그것이 작동합니다, 그것은 당신에게 당신의 단어 배열에 전체 단어를 제공합니다. – Solution

+0

내 프로그램을 거의 변경하지 않아도 작동했습니다. 도움을 주신 Anil Savaj에게 감사드립니다. 하지만 올바른 출력을 얻으려면 사전 개념을 구현해야합니다. 어쨌든 당신의 대답은 제가 올바른 것으로 표시되도록 도와주었습니다. – arun

0

는이를 달성하기 쉬운 방법은 없습니다 (솔직히 거의 불가능 말하기.)

하나의 해결책이 될 수있다 -. 워드 길이에 따라 분류 단어의 목록과 로컬 DB를 유지한다.

이제 편집 텍스트에서 텍스트를 가져올 때마다 문자열의 크기를 확인하십시오. 10과 같으면 DB에서 length = 10 인 모든 단어를 비교하여 시작하십시오. 입력 한 텍스트의 수신을 비교할 수 없습니다.

예를 들어 지식

당신은 단어 집합 조회를위한 당신의 자신의 (복잡한) 로직을 구현해야합니다 .. 알고, 지금, 선반, 가장자리, 인도, 올빼미 등으로 볼 수있다.

+0

그래도 논리를 구현해야만합니다. – arun