Android EditText 焦点变化监听器优化:确保安全类型转换和监听器添加
@Override public void onFocusChange(View view, boolean b) { if (view instanceof EditText) { EditText editText = (EditText) view; editText.removeTextChangedListener(mTextWatcherLongQty); editText.removeTextChangedListener(mTextWatcherWideQty); editText.removeTextChangedListener(mTextWatcherFZQty); if (b) { Integer curIndex = (Integer) editText.getTag(); if (curIndex == selectedEditTextPosition) { int editTextId = editText.getId(); if (editTextId == R.id.et_rel_qty1) { editText.addTextChangedListener(mTextWatcherFZQty); } else if (editTextId == R.id.tv_long_value) { editText.addTextChangedListener(mTextWatcherLongQty); } else if (editTextId == R.id.tv_wide_value) { editText.addTextChangedListener(mTextWatcherWideQty); } editText.setSelection(editText.getText().length()); } } else { editText.setFocusable(false); } } }
原文地址: https://www.cveoy.top/t/topic/mPae 著作权归作者所有。请勿转载和采集!