相关疑难解决方法(0)

如何使用BaseAdapter中的getFilter()过滤ListView

在我的应用程序中,我创建了一个自定义列表视图,我想实现一个过滤器,以便可以根据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)

android filter android-listview baseadapter

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

android-listview ×1

baseadapter ×1

filter ×1