2012-03-01 77 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