2012-04-04 4 views
0

사용자가 다른 설정 문구를 함께 묶어 텍스트 단락을 만든 다음 편집 할 수있는 Android 입력 컨트롤을 만들려고합니다. 예를 들어, 다음 세트 문구는 미리 정의 될 수 있습니다미리 설정된 문구 + 새 텍스트로 Android보기 만들기

  • 보물
  • 파고
  • 시작을 찾아 지상 아래 미터를 파고
  • 북쪽
  • 남쪽 마일을 진행

단락을 구성하는 데 하나 이상의 구가 필요할 것입니다. 그건 의미가 있습니다. 또한 한 번 입력 한 문구 자체는 편집 가능해야합니다. 예를 들어 첫 번째 문구에서는 "진행"과 "마일"사이에 숫자를 삽입해야합니다. 다음은 문구의 도움으로 구성 될 수있는 단락의 예입니다.

계속 42 마일 북쪽, 하늘을 올려서 남쪽으로 21 마일 진행하십시오. 보물 찾기를 시작하고지면 아래 3 미터 아래로 내려주세요. 나는 긴 프레스에 의해 제기는 EditText에 컨텍스트 메뉴를 추가하는 시도

  1. :

는 지금까지이 작업을 수행하는 두 가지 방법을 시도했습니다. 컨텍스트 메뉴의 항목은 각각 설정된 문구와 일치합니다. 안타깝게도 안드로이드의 긴 보도 자료 빌드 메뉴 (잘라 내기/복사/붙여 넣기 옵션)가 인계되어 컨텍스트 메뉴가 보이지 않게되었습니다.

  • CommaTokenizer과 함께 MultiAutoCompleteTextView을 사용하여 리소스 파일에서 구문을로드하려고 시도했습니다. 이것은 유망한 것 같았지만 각 구절마다 쉼표를 사용했습니다. 또한 편집하기가 매우 사용자 친화적이지 않게됩니다. 쉼표를 백 스페이스로 사용하면 삽입 된 전체 구문을 삭제할 수 있습니다. 나는 완전히 새로운 Tokenizer를 만드는 것이 가능하다고 생각하지만, 실제로 사용할 수있는 토큰과 백 스페이스를 두 드릴 때 전체 토큰을 삭제하지 못하도록하는 방법을 알지 못합니다.

  • 필자는 다른 접근 방식을 사용하여 안드로이드 사용자 사전을 살펴본 결과, 그 안의 어구를 추가 할 수 있는지 알아 보았다. 불행히도 그것은 공백이있는 구를 받아들이지 않을 것입니다.

  • 누구에게 다음에 시도 할 수있는 조언이 있습니까?

    감사합니다.

    답변

    0

    MultiAutoCompleteTextView의 하위 클래스를 지정하고 replaceText() 메서드를 재정 의하여 입력 된 구문을 "대체 된 것으로 표시"하지 않으므로이 문제를 해결했습니다. 잘 작동합니다.