2015-06-05 57 views
0

我有一個ArrayList,其中包含一個HashMap。 一個HashMap對象有3個鍵值對。如何在Android中更改文本視圖的可見性並隱藏運行時的行爲?

因此,它是這樣的....

Category : A 
Name  : Name 1 
Price : 100 

我想按類別做組,讓這樣的列表視圖.....

A 
=============== 
Name 1  100 
Name 2  100 
Name 3  100 

B 
=============== 
Name 1  100 
Name 2  100 
Name 3  100 

C 
=============== 
Name 1  100 
Name 2  100 
Name 3  100 

但我listview.xml是喜歡這個。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content"" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/category" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <TextView 
     android:id="@+id/card_name" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <TextView 
     android:id="@+id/card_type_name" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 


</LinearLayout> 

我的問題是我怎麼組此arraylist根據Category,有一個列表視圖。 我如何動態地改變這個列表視圖的行爲? 因爲我的列表視圖包含這3個字段的所有時間。

我有什麼選擇?

+0

所以你想要的是排序基於類別的數組列表和使所有A類項目首先顯示在列表視圖和B第二和C ......這樣嗎? – Surely

+0

您可以創建該對象的ArrayList類型.. –

+0

@xwhyLikeThis原因是。 – Dev513

回答

0

我就說說通常在一些問題上

  1. 對於您可能需要額外的視圖來顯示分頻器的類別和可能的一個列表視圖項目佈局。
  2. 關於排序。你可以實現像@xwhyLikeThis這樣的比較器。 檢查鏈接,瞭解如何做到這一點的詳細信息。 現在該如何處理排序後的數組列表?從列表適配器中檢索項目以顯示在列表視圖中時,只需首先檢查項目的類別,以便在此情況下列表視圖適配器上的位置1對應於具有類別A的項目,依此類推。如果您所顯示的每個類別只有3個項目,這將更容易,因爲您可以直接在數組列表中以3的倍數指向索引,並從中選擇三個連續項目以顯示,例如0,1,2將是類別A和3,4,5將是B.所有這些都依賴於數組列表是否實際排序。

對於所有的文本,我不能爲它寫代碼(從我的智能手機回答),我對此表示歉意。乾杯!

PS:問題標題有很多誤導。但是,如果你想知道你可以改變

mTextView.setVisibility(View.VISIBLE OR View.INVISIBLE OR View.GONE) 

編輯

一個textviews可視性我看你都問同樣的問題也here。在那裏給出的答案和代碼示例應該有效。請儘量詳細說明您的問題。

相關問題