在我的应用程序中,我创建了一个自定义列表视图,我想实现一个过滤器,以便可以根据EditText中输入的文本过滤列表.我使用BaseAdapter作为一个单独的类,我在我的主要活动中调用该类.我还在我的main活动中实现了addTextChangedListener(),我还在BaseAdapter类中实现了getFilter().但我不知道如何使用getFilter()并可以相应地过滤我的列表.在列表中,我将添加JSON URL中的值.请帮助我告诉我如何使用getFilter()来过滤我的列表.
Activity类的代码:
@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 …Run Code Online (Sandbox Code Playgroud)