簡體   English   中英

檢測AutoCompleteTextView鍵是否在文本字段或選擇中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM