내가 검색 문자열을 취하는 글고 치기를 사용하여 내 응용 프로그램에서 검색을 구현했습니다.
그리고이 EditText 아래에 검색을 수행 할 ListView가 있습니다.
<EditText
android:id="@+id/searchInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/input_patch"
android:gravity="center_vertical"
android:hint="@string/search_text"
android:lines="1"
android:textColor="@android:color/white"
android:textSize="16sp" >
</EditText>
<ListView
android:id="@+id/appsList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/searchInput"
android:cacheColorHint="#00000000" >
</ListView>
EditText는 EditText에 입력 된 검색 텍스트에 따라 변경됩니다.
etSearch = (EditText) findViewById(R.id.searchInput);
etSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
searchList();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
searchList 함수()는 실제 여기 list
private void searchList() {
String s = etSearch.getText().toString();
int textlength = s.length();
String sApp;
ArrayList<String> appsListSort = new ArrayList<String>();
int appSize = list.size();
for (int i = 0; i < appSize; i++) {
sApp = list.get(i);
if (textlength <= sApp.length()) {
if (s.equalsIgnoreCase((String) sApp.subSequence(0, textlength))) {
appsListSort.add(list.get(i));
}
}
}
list.clear();
for (int j = 0; j < appsListSort.size(); j++) {
list.add(appsListSort.get(j));
}
adapter.notifyDataSetChanged();
}
찾고 ListView에에 나타내고
adapter
리스트 뷰 어댑터이다 ArrayList를 수행하다.
이 방법으로 도움이되기를 바랍니다.
샘플 코드 스 니펫을 구현 한 방법대로 제공해 주실 수 있습니까? – Anirudh