你可以嘗試的一件事是跳過適配器中的第一個元素,當滾動ListView時,用新元素(包括第一項)切換舊項。例如:
final List<String> items = new ArrayList<String>();
List<String> itemsFirstSkipped = items.subList(1, items.size()-1);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
itemsFirstSkipped);
listView.setAdapter(adapter);
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Make sure at least 1 item is scrolled
if (firstVisibleItem>0) {
adapter.clear();
adapter.addAll(items);
// notifyDataSetChanged is called by default
}
}
});
當'列表項總數高度'小於'listview'的高度時,它如何滾動。您需要爲此選擇其他邏輯,或者將高度降低到小於一個元素的高度。我更喜歡早於以後的 – Panther 2014-10-12 08:19:13
,您可以將第一項作爲標題,然後增加/減少標題的高度。 – VinceStyling 2014-10-13 03:28:37