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);
我已经用过滤器实现了这一点。谢谢你的帮助。