[英]AutoCompleteTextView Item selection trigger event
當從AutoCompleteTextView
中選擇一個項目時,我希望禁用 TextInputLayout 上的錯誤
這是關於 AdapterView.OnItemClickListener 的谷歌文檔。 https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener
在我的片段onCreateView
方法中,我有
View view = inflater.inflate(R.layout.fragment_currency_picker, container, false);
TextInputLayout mtextInputLayout= view.findViewById(R.id.currencyTIL);
List<String> currenciesAvailable = Arrays.asList(getResources().getStringArray(R.array.currencies_array));
ArrayAdapter adapter = new ArrayAdapter(getContext(), R.layout.dropdown_currency_item, currenciesAvailable);
AutoCompleteTextView autoComplete = view.findViewById(R.id.AutoCompTxtView);
autoComplete.setAdapter(adapter);
autoComplete.setOnItemSelectedListener(this);
在我的片段中,我也實現了
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("TEST", "XYZ");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
我似乎無法觸發 onItemSelected。 最終我想打電話
mtextInputLayout.setErrorEnabled(false);
使用setOnItemClickListener
監聽器:
autoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
//do something...
}
});
由於您使用的是材質組件主題,因此AutoCompleteTextView
在運行時被MaterialAutoCompleteTextView
替換。
您可以在選擇 Popup 中的項目時檢查代碼,調用OnItemClickListener
接口。
當您單擊適配器上的項目時,它不是選擇,而是單擊事件
通過在單擊偵聽器上添加mtextInputLayout.setError(null)
來刪除單擊項目時的錯誤:
autoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mtextInputLayout.setError(null);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.