Comment filtrer ListView à l'aide getFilter() dans BaseAdapter

Dans mon application j'ai créer une liste personnalisée de vue et je veux implémenter un filtre de sorte que la liste peut être filtrée selon le texte entré dans l'EditText. Je suis à l'aide d'un BaseAdapter comme une classe distincte et je suis l'appel de cette catégorie dans mon Activité Principale. J'ai également mis en œuvre le addTextChangedListener() dans mon activité principale et je l'ai également mis en œuvre le getFilter() dans mon BaseAdapter classe. Mais je ne sais pas comment puis-je utiliser getFilter() et peut filtrer ma liste en conséquence. Dans la liste, je suis en ajoutant les valeurs à partir d'un JSON URL. Merci de m'aider en me faisant savoir que comment puis-je utiliser le getFilter() afin de filtrer ma Liste.

Le code de la classe d'Activité:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    lv = (ListView)findViewById(R.id.listView1);
    et1 = (EditText)findViewById(R.id.editText1);
    inflator = getLayoutInflater();
    et1.addTextChangedListener(this);
    JsonParser jParser = new JsonParser();
    JSONObject json = jParser.getJSONfromUrl(url);
    try
    {
        JSONArray explore = json.getJSONArray("explore");
        for(int i=0; i<explore.length(); i++)
        {
            JSONObject exp = explore.getJSONObject(i);
            list.add(exp.getString("username"));
        }
    }
    catch(JSONException e)
    {
        e.printStackTrace();
    }

    srchadptr = new SearchAdapter(this, inflator, list);
    lv.setAdapter(srchadptr);
}

public void afterTextChanged(Editable s) {
    //TODO Auto-generated method stub
    srchadptr.getFilter().filter(s);
}

public void beforeTextChanged(CharSequence s, int start, int count,
        int after) {
    //TODO Auto-generated method stub

}

public void onTextChanged(CharSequence s, int start, int before, int count) {
    //TODO Auto-generated method stub

}

Le code de BaseAdapter classe:

public class SearchAdapter extends BaseAdapter implements Filterable {
Context context;
LayoutInflater inflater;
Button btn;
View vw;
ArrayList<String> list = new ArrayList<String>();
public SearchAdapter(Context context,   LayoutInflater inflater, ArrayList<String> list) {
//TODO Auto-generated constructor stub
this.context = context;
this.inflater = inflater;
this.list = list;
}
/*public CharSequence filter(CharSequence cs) {
return cs;
}*/
public int getCount() {
//TODO Auto-generated method stub
return list.size();
}
public Object getItem(int position) {
//TODO Auto-generated method stub
return position;
}
public long getItemId(int position) {
//TODO Auto-generated method stub
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
//TODO Auto-generated method stub
LinearLayout ll = (LinearLayout) vw;
final EditText edt = ((EditText)ll.getChildAt(0));
vw = inflater.inflate(R.layout.list_items, null);
ImageView img = (ImageView)vw.findViewById(R.id.imageView1);
TextView tv = (TextView)vw.findViewById(R.id.textView1);
btn = (Button)vw.findViewById(R.id.button1);
tv.setText(String.valueOf(list.get(position)));
btn.setText(String.valueOf(list.get(position)));
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
Toast.makeText(context, list.get(position), Toast.LENGTH_LONG).show();
}
});
return vw;
}
public android.widget.Filter getFilter() {
//TODO Auto-generated method stub
return new android.widget.Filter() {
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
//TODO Auto-generated method stub
}
@Override
protected FilterResults performFiltering(CharSequence constraint) {
//TODO Auto-generated method stub
return null;
}
};
}
}

Merci d'avance...

stackoverflow.com/questions/8678163/...
J'ai déjà vu le lien, mais encore il était d'aucune utilité pour moi. une chose de plus en plus ma getFlter() n'est pas d'accepter @Override il affiche une erreur. merci donc de me fournir une solution de base.
bon à savoir qu'un exemple de travail est d'aucune utilité pour vous!!!!
Si vous avez google pour @Override problème que vous pourriez avoir eu beaucoup de solution ..on est de changer le compilateur de 1.6 à partir de 1,5...à partir de project-properties-java compiler
Besoin d'appeler notifyDataSetChanged() de l'API

OriginalL'auteur Abhishek Dhiman | 2012-09-17