2013-10-17 24 views
0

好的,這是我的情況。我有一個AutoCompleteTextView必須有一個OnKey監聽器,這很好,但我只想使用onKey 如果「鍵控」的視圖是實際文本字段,而不是自動完成選項之一。如果選擇命中,我將在onItemClickedListener中處理它。所以,我的代碼看起來是這樣的:檢測文本字段或選擇是否AutoCompleteTextView鍵

公共類MyFragment擴展片段實現OnKeyListener {

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    Log.i(LOG_TAG, "Fragment Inflated"); 
    View view = inflater.inflate(R.layout.my_layout, container, false); 
    final AutoCompleteTextView autoComplete = (AutoCompleteTextView)v.findViewById(R.id.my_autocomplete_id); 
    autoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      //just setting the text from the selection 
      String s = adapterView.getItemAtPosition(i).toString(); 
      autoComplete.setText(s); 

     } 
    }); 
    return view; 
} 


@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if(v instanceof AutoCompleteTextView) 
    { 
     AutoCompleteTextView av = (AutoCompleteTextView)v; 
     //I need to be able to tell if this is the text field or a selection 
     // from the autocomplete!! 
    } 

}

安其火災itemclicked之前,預計(不認爲我可以改變這個),所以我真正需要做的,正如我上面所說,可以可靠地檢測出編輯文本區域是「鍵控」還是選擇。

我已經谷歌和檢查我的調試器中的AutoCompleteTextView對象,我沒有看到任何指示我需要什麼。

有沒有人對我如何處理這個問題有任何建議?正如我所說,我必須能夠處理被點擊的文本區域的onKey。如果我能以某種方式獲得SelectedItem單擊處理OnKey之前,我可以設置一個標誌,但我不認爲這是可能的。任何建議將非常感激。非常感謝!

回答

0

所以我不喜歡回答我自己的問題,但我找到了答案,不知道我是如何錯過它的: 如果您在文本上,AutoCompleTextView.getListSelection()將返回-1領域。