リストビューがあり、次を使用して検索機能を適用しています。
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start,int before, int count) {
// TODO Auto-generated method stub
// When user changed the Text
LabelUser.this.arrayAdapter.getFilter().filter(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start,int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
System.out.println("count"+s);
}});
edit-text に文字を入力した後、一時リスト ビューのインデックスが変更され、次を使用して間違ったレコードが取得されます。
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v,int position, long id) {
// TODO Auto-generated method stub
String selectedFromList = (list.getItemAtPosition(position).toString());
Constants.LABELID = labelIdArray[(int) id];
System.out.println("id.LABELID"+id);
System.out.println("id.selectedFromList"+selectedFromList);
startActivity(new Intent("com.example.mysampleapp.DASHBOARDTAB"));
}});
元のリストビューから正しいインデックスを取得できるように、検索を適用した後に一時的なリストビューを取得したい、またはリストビューアダプターをフィルタリングした後に選択されたリストビューから文字列を取得する方法を誰かが提案できます。