Я новичок в разработке как Parse, так и Android, и в настоящее время разрабатываю функцию чата, которая работает от ParseQueryAdapter
на Android. Проблема в том, что я хочу, чтобы UX, как и любое другое приложение для чата: последнее сообщение внизу и кнопка «загрузить больше» сверху, и я не смог получить результат, который я хочу.Обратный ParseQueryAdapter ItemList
Я попробовал orderByAscending("updatedAt")
по моему запросу, и результат кажется правильным: список элементов упорядочен от более старого к новому (сверху вниз). Проблема возникает при достижении максимального элемента (25 элементов) и появляется кнопка «загрузить больше». кнопка «загрузить больше» помещается в нижнюю часть ListView
, а верхнее сообщение остается первым доставленным сообщением.
Теперь я начинаю думать, чтобы заказать мой запрос orderByDescending("updatedAt")
назад и изменить метод ParseQueryAdapter
getItem
, чтобы товары были заказаны обратным образом. Я попытался создать подкласс ParseQueryAdapter
«s getItem
в:
@Override
public ParseObject getItem(int position) {
return super.getItem(getCount() - position - 1);
}
я получаю его от this post так ParseQueryAdapter
основана на BaseAdapter
.
И, к сожалению, она возвращает NullPointerException
при получении объекта, getParseUser
на моем ParseQueryAdapter подкласса, как показано ниже:
public class ChatContentCustomAdapter extends ParseQueryAdapter<ParseObject> {
public ChatContentCustomAdapter(Context context, final String roomId){ ... }
public View getItemView(final ParseObject object, View v, ViewGroup parent) {
if (object.getParseUser("sender") == cUser) {
//populating layout
}
}
}
Что я должен сделать, чтобы преодолеть эту проблему?
Спасибо за ваш совет. Я переключаю свой адаптер на BaseAdapter, и все работает хорошо. –