我有一個AutoCompleteTextView在片段(android.support.v4.app)中。用戶在下拉菜單中選擇一個項目後,我想保留它們輸入的文本。這是我的。無法從android AutoCompleteTextView中獲取用戶輸入的文本後選擇
第一類定義:
public class MyFragment extends Fragment
implements
AutoCompleteTextView.OnDismissListener,
AutoCompleteTextView.OnKeyListener,
AutoCompleteTextView.OnEditorActionListener {
在onViewCreated()我有這些任務:
myAutoComplete.setOnDismissListener(MyFragment.this);
myAutoComplete.setOnKeyListener(MyFragment.this);
myAutoComplete.setOnEditorActionListener(MyFragment.this);
而且我已經添加了這些方法:
@Override
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
Log.i("************(arg0) ", arg0.toString());
Log.i("************(arg1) ", arg0.toString());
Log.i("***********(keyevent) ", arg2.toString());
return false;
}
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
Log.i("************(arg0) ", arg0.toString());
Log.i("************(arg1) ", arg0.toString());
Log.i("***********(keyevent) ", arg2.toString());
return false;
}
@Override
public void onDismiss() {
// Fires when the dropdownlist is dismissed.
// The event is assigned in onViewCreated
}
我的第一個希望onDismiss()事件會在用戶輸入的文本被選中的項目替換之前觸發。如圖所示,事件的確可以正確觸發,但在用戶文本被替換爲所選項目之後。
然後,我連線了兩個不同的按鍵偵聽器,希望在輸入時捕獲和存儲該值。這些不會開火。在研究了這個問題後,我瞭解到關鍵聽衆只能用於物理鍵盤。儘管有些人似乎已經開始使用軟kybds,但廣泛的兼容性似乎是一個問題。
所以我卡住了,我沒有留下任何頭髮。任何人有任何建議?
你爲什麼不嘗試TextWatcher並保存在臨時串 –