嗨,大家好我在我的列表視圖中實現edittext來過濾項目。我按照this的例子,但沒有發生。它不工作,當我試圖篩選它不這樣做我想要的。這是我的EditText上的部分代碼:在列表視圖中的EditText搜索項不起作用
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setTextFilterEnabled(true);
lv.setAdapter(listadaptor);
inputSearch.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
MainActivity.this.listadaptor.getFilter().filter(cs);
}
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
};
我的列表視圖是顯示安裝在設備中的所有應用程序的列表..我有這個加載列表:
private class LoadApplications extends AsyncTask<Void, Void, Void> {
public ProgressDialog progress = null;
@Override
protected Void doInBackground(Void... params) {
applist = checkForLaunchIntent(packageManager.getInstalledApplications(PackageManager.GET_META_DATA));
listadaptor = new ApplicationAdapter(MainActivity.this,R.layout.snippet_list_row, applist);
return null;
}
@Override
protected void onCancelled() {
super.onCancelled();
}
protected void onDestroy() {
if(progress!=null)
if(progress.isShowing()){
progress.dismiss();
}
}
@Override
protected void onPostExecute(Void result) {
setListAdapter(listadaptor);
progress.dismiss();
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
progress = ProgressDialog.show(MainActivity.this, null,
"Caricamento applicazioni in corso...");
super.onPreExecute();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
所以listadaptor
是我的適配器..有人能幫助我嗎?由於
參考這一個... http://androidsearchfilterlistview.blogspot.in/ – Aravin
你認爲我的代碼錯了嗎? –
你的建議是有點不同..該列表視圖假設你在這裏添加項目'私人無效setViewStub()'所以我不知道如何我可以適應我的代碼這個.. –