【发布时间】:2014-04-23 15:04:01
【问题描述】:
我有一个 Activiti,其中有一个 ListView 搜索。当我返回任何我不使用过滤器的结果时,一切都很好。选择元素 520,我得到它的 id,但是一旦我使用过滤器并找到相同的项目,得到 id 0-10。请告诉我如何解决这个问题。提前致谢! 附: 对不起我的英语!
public class Clients extends Activity {
private ListView lv;
ArrayAdapter<String> adapter;
EditText etInputSearch;
DB dbSync;
DB dbUser;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clients);
dbSync = new DB(this);
dbUser = new DB(this);
lv = (ListView) findViewById(R.id.list_view);
etInputSearch = (EditText) findViewById(R.id.etInputSearch);
adapter = new ArrayAdapter<String>(this, R.layout.clients_item, R.id.clients_name, dbSync.createlistClients(dbUser.getCodeAgent()));
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> l, View v, int position,
long id) {
Log.d("TAG", position + " " + id);
}
});
etInputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
Clients.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {}
@Override
public void afterTextChanged(Editable arg0) {}
});
}
}
【问题讨论】: