1
我使用ListView顯示mysql表中的一些數據,並使用SimpleAdapter填充它。我添加onItemClickListener,以便能夠在用戶按列表中的某個項目時打開新的活動。這很好,但是當你選擇一個搜索列表的選項時,textfilter會過濾條目,但onItemClick不會將正確的「id」發送到新的活動。我搜索解決方案,每個人都解決了「adapter.notifyDataSetChanged」的問題,但它不適合我。這裏是代碼,也許有人可以幫忙。過濾列表後,OnItemClickListener中的ID不正確
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) {
;
}
}
});
它完美!感謝隊友和節日快樂! – Stole51