Android ListView 항목 하이라이트 프로그래밍 방식으로 강조 표시됩니다
-
19-09-2019 - |
문제
나는 그것이 주변에 묻는 것을 알고 있지만 아직 대답을 찾지 못했습니다 (Android를 처음 접 했으니 무지에 대해 죄송합니다).
내 앱의 시작 활동에는 editText (SearchBox라고 함), ListView (지정) 및 스피너 (유형)가 있습니다.
EditText를 SearchBox로 사용하므로 사용자 정의 편집을 통해 문자열을 전달하여 검색을보다 유연하게 만들어야합니다. 그 후 나는 '지정'에서 찾은 가장 가까운 근사치와 일치하고
designations.setSelection(j);
예상 한 바와 같이, 이것은 원하는 항목을 지정 상단으로 설정합니다. 그러나 코드를 통해 강조하는 방법을 찾을 수 없습니다.
이제 장치가 터치 모드에 있으면 선택한 항목의 강조 표시가 발생하지 않습니다. 따라서 내 검색 상자의 OnTextChanged 이벤트의 마지막 4 줄은 다음과 같습니다.
designations.setFocusable(true);
designations.setFocusableInTouchMode(true);
if (match==true) designations.setSelection(j);
if (st.length()==0) designations.setSelection(0);
아무 소용이 없습니다.
이제 SearchBox의 AfterTextChanged (편집 가능한 s)에 코드가 없습니다.
그래서 누구든지 이것에 대한 단서를 줄 수 있습니까?
~ dh
해결책
requestFocus () 및 requestChildFocus ()를 확인하십시오.
다른 팁
실제 설정을 시도해 보셨습니까? View
선택하려면?
designations.setSelection(j);
designations.getSelectedView().setSelected(true);
제휴하지 않습니다 StackOverflow