ListView 컨텐츠의 노트 필터링
5263 단어 Android
단순 문자열 목록
완전한 예가 하나 있다.
ArrayAdapter는Filterable를 실시했기 때문에ListView에서 setOn QueryTextListener와setFilterText를 적당히 부르면 됩니다.
SearchViewFilterMode.자바 편집
public class SearchViewFilterMode extends Activity implements SearchView.OnQueryTextListener {
protected void onCreate(Bundle savedInstanceState) {
// (省略)
mListView.setAdapter(mAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
mStrings));
mListView.setTextFilterEnabled(true);
mSearchView.setOnQueryTextListener(this);
mSearchView.setSubmitButtonEnabled(false);
}
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
mListView.clearTextFilter();
} else {
mListView.setFilterText(newText.toString());
}
return true;
}
public boolean onQueryTextSubmit(String query) {
return false;
}
Arry Adapter에 String 이외의 것을 넣고 싶어요.
텍스트 목록뿐만 아니라 아이콘 등을 포함하는 대상에게 자신이 정의한 대상을 건네주고 싶을 때도 있다.
공식 Sample
위의 URL에 따라 이 시점의 주의 사항은 다음과 같습니다.
- ArayAdapter#getView가 교차할 때 getItem(position 방법으로position에 대응하는 요소 얻기)
- 데이터 클래스의 toString()이 필터에 사용되므로 toString()이 적절하게 중첩됩니다.
팝업에서 입력 표시 비활성화
위의 방법으로 ListView를 직접 필터링하면 필터 문자열이 반투명 팝업으로 표시됩니다.
android에서 ArreayAdapter-@blog을 사용합니다.justoneplanet.info
(이미지 출처
몇 개의 작업 주기가 있지만ListView#setFilterText라고 하기보다는 Filter 대상을 직접 조작하는 것이 좋습니다.(참조: Stack Overflow
Filter filter = ((Filterable) listView.getAdapter()).getFilter();
filter.filter("search string");
Reference
이 문제에 관하여(ListView 컨텐츠의 노트 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daisy1754/items/c5a8e614cf721e7f0183텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)