0

我正在使用AutoCompleteTextView,用戶可以看到機會。 所以,當我點擊兩個字符,例如「巴」我會看到「巴哈馬」,「巴林」,「阿塞拜疆」等 - 這個工程!使用AutoCompleteTextView,但隱藏鍵盤上的字符

但是,如果我沒有以字母「z」開頭的國家,我會隱藏鍵盤上的z。如果我點擊兩個字符「ba」,我只會在鍵盤上看到「h」。 我該怎麼做?如果我仍然想點擊「ba」並獲得「巴哈馬」和「阿塞拜疆」,我怎麼能意識到這一點?

謝謝大家!

+0

我認爲你可以做到這一點只有當你使自己的軟鍵盤,使這種方法吧... – Cata 2011-05-27 09:29:08

回答

0

爲卡塔指出的那樣,你將無法隱藏在softkeyboard鍵,除非你寫你自己的鍵盤 - 你有幾個其他的選擇的:

這兩個都不會隱藏鍵盤上的鍵,但可以使用它們來防止用戶鍵入無效鍵。

至於你提到的用戶輸入匹配的字符串中的第二個問題,這不是自動完成的代碼:

相關代碼的形式android源碼:

for (int i = 0; i < count; i++) { 
      final T value = values.get(i); 
      final String valueText = value.toString().toLowerCase(); 

      // First match against the whole, non-splitted value 
      if (valueText.startsWith(prefixString)) { 
       newValues.add(value); 
      } else { 
       final String[] words = valueText.split(" "); 
       final int wordCount = words.length; 

       for (int k = 0; k < wordCount; k++) { 
        if (words[k].startsWith(prefixString)) { 
         newValues.add(value); 
         break; 
        } 
       } 
      } 
     } 

你可以看到它只會匹配項目中任何單個單詞的第一個字符。因此,要實現第二個目標,您必須編寫自己的適配器來實現可過濾。

這裏是一個可能讓你開始一個教程:http://thinkandroid.wordpress.com/2010/02/08/writing-your-own-autocompletetextview/

+0

感謝我將努力讓它的工作 – tsync 2011-05-27 10:15:34

+0

仍然有問題...我想使用setkeylistener我怎麼才能找到我的edittext輸入? – tsync 2011-05-27 11:10:24