Listview-过滤Android

Listview-过滤Android,android,listview,android-listview,Android,Listview,Android Listview,我有一个列表视图,在一行中有多个文本视图。TextView值包括名称、组名、日期和一些隐藏字段。以及此列表视图之外的微调器。一旦我从微调器列表视图中选择了项,则需要对其进行过滤。那就是另一排将要消失。我尝试了setVisibility()方法,但效果不好。我使用的是简单的适配器。我怎样才能做到这一点。请帮帮我 我的示例代码: Spinner draft_filter = (Spinner) findViewById(R.id.draft_filter); draft_filte

我有一个
列表视图
,在一行中有多个
文本视图
TextView
值包括名称、组名、日期和一些隐藏字段。以及此
列表视图之外的微调器。一旦我从微调器
列表视图中选择了项,则需要对其进行过滤。那就是另一排将要消失。我尝试了
setVisibility()
方法,但效果不好。我使用的是简单的适配器。我怎样才能做到这一点。请帮帮我

我的示例代码:

    Spinner draft_filter = (Spinner) findViewById(R.id.draft_filter);
     draft_filter.setOnItemSelectedListener(new OnItemSelectedListener() {



                    public void onItemSelected(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        // TODO Auto-generated method stub
                        Spinner draft_spinner = (Spinner) arg0;
                        String selected_string = (String) draft_spinner.getSelectedItem();
    //Save this String and filter the listview using this
    }

                    public void onNothingSelected(AdapterView<?> arg0) {
                        // TODO Auto-generated method stub

                    }
                });
     ListView level1 = (ListView) findViewById(R.id.listview);
    level1.setOnScrollListener(new OnScrollListener() {

                    public void onScrollStateChanged(AbsListView view, int scrollState) {
                        // TODO Auto-generated method stub

                    }

                    public void onScroll(AbsListView view, int firstVisibleItem,
                            int visibleItemCount, int totalItemCount) {
                        // TODO Auto-generated method stub
                        for (int i=0; i<level1.getChildCount(); i++)
                        {
    // Set the Visibility of the row here
    }
                });

    //For loading listview
//Here fillmaps is the arraylist contains hashmap values
    String[] drafts = new String[] { "child_name", "age"};
    int[] controls = new int[] { R.id.item1, R.id.item2};
    adapter = new SimpleAdapter(getApplicationContext(), fillMaps,
                        R.layout.draft_observation_list_layout, drafts, controls);
                level1.setAdapter(adapter);
Spinner draft\u filter=(Spinner)findViewById(R.id.draft\u filter);
草稿过滤器。setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
微调器拔模_微调器=(微调器)arg0;
选定字符串\u字符串=(字符串)草稿\u微调器。getSelectedItem();
//保存此字符串并使用以下命令筛选listview
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
ListView级别1=(ListView)findViewById(R.id.ListView);
level1.setOnScrollListener(新的OnScrollListener(){
公共无效onScrollStateChanged(AbsListView视图,int scrollState){
//TODO自动生成的方法存根
}
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
//TODO自动生成的方法存根

对于(int i=0;i每当微调器项值随筛选列表值更改时调用适配器。

我尝试了很多方法,但解决方案非常简单:

((SimpleAdapter) MyActivity.this.adapter).getFilter().filter(filter_text);

我已经用过滤器实现了这一点。谢谢你的帮助。