2015-08-20 34 views
0

我想用CursorAdapter和Alphabet標頭實現Material Style ListView,就像下面的鏈接所示。 https://s3.amazonaws.com/uploads.hipchat.com/67537/1095843/8h5VtFvLlRMOsqI/2015-08-19%20at%209.28%20AM.pngAndroid ListView CursorAdapter字母首字母

字母縮寫字母只是我的listview的layout_item中的一個textview。我怎樣才能確定我什麼時候設置字母表。它看起來很簡單,但由於它是一個遊標適配器,我發現當我上下滾動時,這個textView值不斷變化/消失。請注意:我正在使用遊標適配器,因此數據逐行顯示。我無法立即將所有數據發送到適配器,以便將所有內容放入地圖中並將其編入索引。有沒有人做過類似的事情?有沒有我可以使用的Java類。

private String sectionName = ""; 
public void bindView(View convertView, Context context, Cursor cursor) { 
    if (!newSectionName.equals(sectionName)) { 
     holder.txtSectionName.setText(newSectionName); 
     sectionName = newSectionName; 
    } else { 
     holder.txtSectionName.setText(""); 
    } 
} 

回答

0

首先,你應該看看RecyclerView和材料設計支持庫谷歌出來。這2種資源將幫助您入門。滾動氣泡本質上是一個onScroll事件,它接受用戶的位置並基於該位置(以及它們滾動的量)超過設定的在該氣泡中顯示的字母的閾值。

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html

http://android-developers.blogspot.com/2015/05/android-design-support-library.html

+0

您好,感謝您的回覆。但我不關心滾動泡泡。我正在談論左側的字母索引。 – user3773337

+0

實際上更容易。使用recyclerview確保你實現了getItemViewType()和getItemViewTypeCount()。然後,您現在有2種不同的視圖可顯示在您的回收站視圖中。因此,當您填充回收站查看並按字母順序查看字母更改發生時。如果確實發生,請將視圖切換到另一個視圖,並在左側顯示字母。 – cj1098

+0

我認爲它會產生與普通列表視圖相同的問題。當我向上滾動說從B部分到A時,它會在A部分的左側顯示A部分中我不想要的最後一個項目。如果我不清楚,請告訴我。 – user3773337