2012-01-05 89 views
0

我列出了100多个项目,我正在构建多选列表,用户可以从中选择尽可能多的项目。 我创建了具有多项选择选项的列表视图,但滚动100个项目对于用户来说过于复杂。使用Android中的搜索框创建多选列表视图

是否有任何方法可以将搜索框放在列表视图的顶部,以便在搜索框中键入文本时,用户只会看到相关的项目,并可以做出多项选择?

回答

2

,有没有办法在键入搜索框的用户的文本将只能看到相关项目 ,可以使多选择选择出的那把搜索框列表视图,以便 的顶部?

是的这是可能的,你必须实现文本观察者类。 在搜索编辑文本中,您必须设置addTextChange Event并在其中传递文本观察器对象。

现在在TextWatcher类的OnTextChanged()中,您必须从数据源获取相关数据并通过adapter.NotifyDatasetChanged()刷新适配器。

编辑

现在对于Multiple selection List-view您可以创建一个list-row layout其中有一个Checkbox。在你的类创建一个类的Adapter。你可以创建一个Base-Adapter和它的getView()方法膨胀list-row并设置在check-box文本并设置checkboxchecked属性根据您的选择

+0

感谢达门德拉的响应, 其实我可以在搜索框中添加到列表查看,但不是为多选列表视图.. 会ü请让我知道如何添加多选项选择 – 2012-01-05 09:08:34

0

是, 可以使用AutoCompleteTextView或实现EditText的onTextChangeListener在listview.you的顶部可以添加列表视图的项目到适配器到AutoCompleteTextView。

希望u得到什么,我说...

+0

嗨理查,是否有可能为多项选择项目列表..? – 2012-01-05 09:11:01

+0

是的,http://www.vogella.de/articles/AndroidListView/article.html参考 – Richa 2012-01-05 09:12:48

0

这里是一些代码,我试过..它可以帮助

public void afterTextChanged(Editable s) { 
         // TODO Auto-generated method stub 

         len=actv.getText().length(); 

         for(int i=0;i<content.size();i++) 
         { 
          if(len<=content.get(i).length()) 
          { 
           if(actv.getText().toString().trim().equalsIgnoreCase((String) content.get(i).subSequence(0, len))) 
           { 

            arr_sort.add(content.get(i)); 

           } 


          } 

         } 

         adapter=new ArrayAdapter<String>(MyListDemoActivity.this,android.R.layout.simple_list_item_1,arr_sort); 
         setListAdapter(adapter); 
        } 
       }); 
相关问题