2012-03-01 88 views
0

我有一个关于添加微调器列表视图头问题:添加微调器列表视图页眉和popuate值动态

  1. 我应该如何得到一个微调,以在ListView头showup。
  2. 如何根据列表视图中的值动态填充此微调器中的值。

描述: 我有一个列表视图,它从XML文件(放在网上)填充值。根据用户在前一个屏幕上的选择和/或XML文件中的数据,此列表可能很大。

我想在列表视图的顶部添加一个微调框,以便用户可以选择执行过滤器操作/排序操作。这应该如何实现?

例如: 如果我的应用程序显示图书馆中可用书籍的列表。微调应帮助用户: 1.根据书名 按字母顺序排序2.根据作者姓名按字母顺序排序 3.仅过滤与“战争”相关的书籍 4.仅过滤与“历史”相关的书籍 5.过滤出相关书籍“科学”

当我填充列表视图中,XML提供了详细信息,如“书的类型”,“作者”,“标题”等

问题,我如何根据列表视图中的书籍列表,将微调器放置在顶部&向Spinner填充类型(战争,历史,犯罪等)的值。

我试图尽可能描述。如果需要进一步的细节,请告诉我。

任何帮助将不胜感激。

谢谢你一堆!

回答

0

对于把微调ListView控件上面,看看这个方法了:http://developer.android.com/reference/android/widget/ListView.html#addHeaderView%28android.view.View%29

或者你可以把一个自定义标题布局件事在该活动的父布局的ListView。 更多列表视图帮助:​​

至于填充微调器,您可以让微调器设置为您想要的任何值。在网上的例子(http://developer.android.com/resources/tutorials/views/hello-spinner.html):

String[] myValues = // Put code here for the values and size of array you want. 
Spinner spinner = (Spinner) findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
     this, YOUR_STRING_ARRAY_VARIABLE_HERE, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

这是你作为一个程序员想出如何采取哪些项目在微调选择和更改到ListView工作。要更新列表视图中的值,请查看:update listview dynamically with adapter

一个解决方案和我将如何做的是为Entry创建一个自定义Java类,以便您可以接受XML文件并将每个条目实例变量或特征提供给按他们排序。然后使用这个数据模型,创建一个EntryList或EntryArray类,它可以处理Entry数据对象的排序。然后有一个toStringArray()方法返回一个字符串数组。通过这种方式,您可以保留数据,并允许您需要的所有分类。每次单击微调器时,将调用EntryList或EntryArray中的相应方法,将新的String数组放入适配器中,并且用户看到新的已排序列表。

这可能是很多消化,所以读了所有的链接,看看你能否实现它。干杯!

+0

非常感谢AJcodez。将尝试所有的建议,并将其标记为关闭。 – Ramanathan 2012-03-06 04:35:51