0
listview
에서 데이터를 가져 와서 데이터베이스에서 제공된 데이터를 표시했는데 이제 제공된 키워드 (대소 문자 무시)로 목록에서 특정 항목을 검색하고 싶습니다. 나는 그것을 시도했지만 예상 결과를 얻지 못했습니다. 내가 한 코드에 따르면, 오류를주지는 않지만 내 기대를 충족시키지 못합니다. 더 멀리 가도록 도와주세요.목록에 검색 기능 적용 android
ArrayList<String> bank=new ArrayList<String>();
EditText inputSearch;
inputSearch.addTextChangedListener(new TextWatcher() {
private ArrayList<String> arrayList_sort = new ArrayList<String>();
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
int textlength=0;
textlength=inputSearch.getText().length();
if(arrayList_sort!=null)
arrayList_sort.clear();
for(int i=20;i<=bank.size();i++)
{
if(textlength<=bank.get(i).toString().length())
{
//if(inputSearch.getText().toString().equalsIgnoreCase(String) bank.get(i).toString().subSequence(0, textlength)))
if (inputSearch
.getText()
.toString()
.equalsIgnoreCase(
(String) bank.get(i).toString()
.subSequence(0, textlength)))
{
arrayList_sort.add(bank.get(i));
Log.d("TAG", "log" + arrayList_sort.size());
}
}
}
}
public void beforeTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
나는 BaseAdapter
을 사용했습니다. i = 0 인 경우 오류 "IndexOutOfBound
"이 표시됩니다.
** listList_sort **를 추가하지 않고 정리를위한 전체 코드를 표시 할 수 있습니까? – bakriOnFire
우선, thw world에서'i == 0'을 어떻게 얻을 수 있습니까? for 루프는'i == 20'으로 시작하고 그 값은 nevr 감소합니다. 올바른 코드를 게시하십시오 – CRUSADER
http://stackoverflow.com/questions/10816243/search-in-listview-with-edittext/15367403#15367403 – Raghunandan