2017-11-29 15 views
1

AutoCompleteTextView 필터 제안을 분리 된 단어로 만들 수있는 방법이 있습니까? 해당 컨트롤의 일반적인 동작은 사용자가 작성하는 전체 문자열로 필터링하는 것입니다. 예를 보여 드리겠습니다. 우리는 어댑터에 다음 단어가 (그들은 제안 할 것이다) :AutoCompleteTextView 동일한 문자열에 대해 여러 단어를 필터링하는 중

String[] words = {"foo bar bla bla ", "foo bla bla bar"}; 

우리가 입력 "foo bar"에서 작성하는 경우 텍스트로 일치하기 때문에, 제안이 단어 "foo bar bla bla"의 배열의 인덱스 0입니다 입력의 부분 문자열.

내 질문에 : 입력을 "foo bar" 별도로 단어를 필터링하는 방법이 있습니까? (공백으로,이 경우 쉼표, 별표 또는 기타), AutoCompleteTextView 필터를 "foo""bar"과 일치하는 제안으로 만듭니다.

예를 들어, 배열의 두 문자열을 부분 문자열로 "foo""bar"을 포함하고 있기 때문에이 배열의 두 문자열을 모두 표시합니다.

나쁜 영어로 죄송합니다.

감사합니다.

답변

0

는 다음 코드를 사용해보십시오 :

 AutoCompleteTextView text; 
     MultiAutoCompleteTextView text1; 
     String[] words = {"foo bar bla bla ", "foo bla bla bar"}; 

      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 

       text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); 
       text1=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1); 

       ArrayAdapter adapter = new 
       ArrayAdapter(this,android.R.layout.simple_list_item_1,words); 

       text.setAdapter(adapter); 
       text.setThreshold(1); 

       text1.setAdapter(adapter); 
       text1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); 
      } 

또는 이 Android - Auto Complete

+0

이미 시도 MultiAutoCompleteTextView했습니다를 참조하시기 바랍니다하지만 내가 찾고 있어요 작동하는 방식을 해달라고. 그것은 토큰으로 텍스트를 분리하지만 마지막 토큰에 대한 제안 만 찾습니다. 달성하고자하는 동작은 마지막 **뿐만 아니라 모든 ** 토큰을 필터링하여 제안을 표시합니다. 나는 테스트를했고 마지막 토큰''red ''에 대해서만 필터링하는 방법을 [이 이미지] (https://i.imgur.com/OzQvQHR.png)에서 볼 수 있습니다. –