я закончил верхнюю пагинацию какAndroid: Поддержание последней просмотренной позиции в ListView
messagesContainer.setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (visibleItemCount == totalItemCount){
java.lang.System.out.println("too little items to use a ScrollView!");
} else {
if ((firstVisibleItem + visibleItemCount) == totalItemCount) {
//Log.e("bottomPosition", "bottomPosition");
}else if (firstVisibleItem == 0) {
Log.e("topPosition", "topPosition");
index = messagesContainer.getLastVisiblePosition();
View v = messagesContainer.getChildAt(messagesContainer.getHeaderViewsCount());
top = (v == null) ? 0 : v.getTop();
if(rechedTopPosition != null){
rechedTopPosition = null;
Log.e("pageNoForVolUrl", pageNoForVolUrl+"");
getPrevChatVolley();
}
}
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
//Log.e("a", "scrolling stopped...");
}
}
});
for(int i = 0; i < rowsArray.length() ; i++){
JSONObject singleObj = rowsArray.getJSONObject(i);
JSONObject valueObj = singleObj.getJSONObject("value");
String commentId = valueObj.getString("_id");
String textMessage = valueObj.getString("body");
ChatMessageItems chatMessage = new ChatMessageItems();
chatMessage.setId(122);//dummy
chatMessage.setMessageId(commentId);
chatMessage.setMessage(textMessage);
if (fromUserId.equals("384")) {
chatMessage.setMe(false); // False = right side, True = left side
} else {
chatMessage.setMe(true);
}
itemsAdapter.insert(chatMessage, 0);
}
rechedTopPosition = "fulFilled";
messagesContainer.setSelectionFromTop(index, top);
<ListView
android:id="@+id/messagesContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:stackFromBottom="true"
android:listSelector="@android:color/transparent" />
Используя этот код я могу добавить вид списка позиции вверху, но не поддерживает последнюю просматриваемую позицию
Для экс:
Моего первоначальный ListView, как
----
15
16
17
18
19
20
Когда я прокручивать до 15 (вверху) положения он загружает все пункты в верхней части, но это не сохранение последней просмотренных 15 позиции элемента. Он показывает некоторый другой элемент после обновления listView. Поэтому я хочу сохранить последнюю просматриваемую позицию после обновления элементов в верхней позиции. Пожалуйста, дайте мне любую идею ...... Спасибо
Это не работает. Если я использую это, все страницы загружаются в то время, когда я просматриваю верхнюю позицию – Bahu