[英]Detecting if AutoCompleteTextView key on text field or selection
好的,這是我的情況。 我有有有安其,這是很好的一個聽者AutoCompleteTextView,但我只想要消費的安其,如果這是“鍵”的觀點是實際的文本字段,而不是自動完成選項之一。 如果選擇被擊中,我將在onItemClickedListener中處理它。 因此,我的代碼如下所示:
公共類MyFragment擴展Fragment實現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!!
}
}
OnKey在itemclicked之前觸發,這是預期的(不要以為我可以更改此設置),因此如上所述,我真正需要做的就是可靠地檢測到編輯文本區域是否為“鍵控”或一個選擇。
我已經在調試器中搜索並檢查了AutoCompleteTextView對象,但沒有看到任何指示我需要的東西。
有人對我該如何處理有任何建議嗎? 正如我所說,我必須能夠處理要單擊的文本區域的onKey。 如果我能以某種方式在OnKey之前單擊selectedItem,則可以設置一個標志,但是同樣,我認為這是不可能的。 任何建議將不勝感激。 非常感謝!
因此,我不喜歡回答自己的問題,但我找到了答案,卻不知道我是如何錯過它的:如果您在文本字段中,則AutoCompleTextView.getListSelection()將返回-1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.