arraylist 값 [aaa0, aaa1, ... aaa100, aab0, aab1, ..., aab100]이있는 자동 완성 텍스트 뷰를 사용하고 'aa'값을 입력하고 스크롤 다음 10 값 ie.'aa10 '까지 내려 간 다음'aab '값을 입력하십시오. 제안 목록은 10 번째 값 즉'aab10 '부터 시작됩니다. 첫 번째 값인 'aab0'을 보려면 스크롤해야합니다. 검색 텍스트를 변경할 때 추천 목록의 첫 번째 값을 표시하고 싶습니다. suggestion list screenshot텍스트 변경시 autocompletetextview의 제안 목록 색인 업데이트
0
A
답변
0
당신은 AutoCompleteTextView에 클래스 를 확장하고 목록보기를 새로 고치려면 아래로 다시 드롭을 닫고 보여주고있는 onFilterComplete 방법 를 오버라이드 (override) 할 필요가있다. 또한
나는 분명히 더 나은 지원 여기
의 android.support.v7.widget.AppCompatAutoCompleteTextView 을 확장하는 대신 AutoCompleteTextView에 을 확장하는 제안은 코드
package your.package.name;
import android.content.Context;
import android.util.AttributeSet;
import android.support.v7.widget.*;
public class CustomAutoCompleteTextView extends AppCompatAutoCompleteTextView {
public CustomAutoCompleteTextView(Context context) {
super(context);
}
public CustomAutoCompleteTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomAutoCompleteTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void onFilterComplete(int count) {
super.onFilterComplete(count);
//show and dismiss the drop down to refresh the list in it
this.dismissDropDown();
this.showDropDown();
}
}
편집입니다
또한 AutoCompleteTextView.setListSelection() 메서드를 사용하여 맨 위로 스크롤 할 수 있습니다. 더 효율적인 모든 필터 의 드롭 다운을 닫고 표시하는 대신. reply..I에 대한
@Override
public void onFilterComplete(int count) {
super.onFilterComplete(count);
//set list selection to 0
if(getListSelection() != 0)
this.setListSelection(0);
}
덕분에 아래 모든 필터 performed.I의 드롭을 기각만을 편집을 확인 @MaheshAmbekar 드롭 다운 –
을 제거하지 않고 수행 필터에 맨 목록을 스크롤 할 필요가 없습니다. 정확히 내가 원하는 것 같아. –