2
我正在開發一個android日曆應用程序,它在listview中顯示日期。我能夠在向下滾動的同時將數據添加到列表視圖中。現在我想在滾動時做同樣的事情。我怎樣才能將數據添加到列表視圖的頂部,並滾動列表視圖的第一個數據?如何在列表視圖的頂部添加添加數據
這是我的代碼。
public class AllEventFragment extends Fragment{
private final int INITIAL_DAYS = 14;
private final int THRESHOLD = 14;
private int currentPage = 0;
private int previousTotal = 0;
private boolean loading = true;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
mListView = (ListView) getView().findViewById(R.id.list);
mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
private int mLastItem;
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount,
int totalItemCount) {
if (loading){
if (totalItemCount > previousTotal){
loading = false;
previousTotal = totalItemCount;
currentPage++;
}
if(totalItemCount < totalItemCount){
loading = false;
previousTotal = totalItemCount;
currentPage++;
}
}
if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + THRESHOLD)){
addMoreDaysToBottom(currentPage + 1);
loading = true;
}
}
我已經做到了,並已經能夠添加數據,同時滾動向下(但並未將該部分代碼添加到上面顯示的代碼段中)。我現在的問題是當用戶嘗試超出ArrayList中的第一個元素時,如何以編程方式將數據添加到列表頂部。換句話說,這與我已經完成的工作相反。 – user2890137 2014-12-06 16:08:45
你的意思是像Facebook應用程序的拉到刷新效果? – 2014-12-06 16:10:40
實際上並沒有真正拉動刷新效果。一個關閉的例子是WhatsApp聊天listView中的「加載早期消息」。由於我的日曆應用程序,當用戶嘗試超出陣列列表中的第一個初始化元素(即今天的日期)時,前幾天的日期將被添加到listView。我如何確定用戶何時試圖通過ScrollListener超越數組列表的第一個元素。 – user2890137 2014-12-06 16:23:54