我正在使用 ListView 显示 mysql 表中的一些数据,并使用 SimpleAdapter 填充。我添加了 onItemClickListener,以便在用户按下列表中的某个项目时能够打开新活动。这工作得很好,但是当您选择一个选项来搜索列表时,textfilter 可以过滤条目,但 onItemClick 没有向新活动发送正确的“id”。我搜索了解决方案,每个人都用“adapter.notifyDataSetChanged”解决了这个问题,但它对我不起作用。这是代码,也许有人可以提供帮助。
list.setTextFilterEnabled(true);
myFilter.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
mSchedule.getFilter().filter(s.toString());
}
});
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
try {
String ajdi = jArray.getJSONObject(position).getString("id").toString();
Intent i = new Intent(Predlozi.this, PesmaPrikaz.class);
Bundle bandl = new Bundle();
bandl.putString("id", ajdi);
i.putExtras(bandl);
startActivity(i);
} catch (JSONException e) {
;
}
}
});