Я использую RecyclerView
, который показывает результаты, полученные из GCM
обратных вызовов. У RecyclerView
есть пользовательский адаптер, который добавляет метод, есть также индикатор выполнения, который обновляется с использованием асинтезы.Android - Recycler View with GCM
Сообщение ПОЛУЧАТЬ над GCM
, который работает отлично:
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mAdapter.add(new ResultRecord("asf", 89, 1000));
}
});
}
};
метод Add в пользовательском адаптере:
public void add(final ResultRecord result) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
results.add(0, result);
notifyItemInserted(0);
}
});
}
Проблема заключается в том, что метод добавить называется, и ничего не происходит на пользовательском интерфейсе. Метод add called, а затем onBindViewHolder, и просмотр recycler не обновляется. Только когда индикатор выполнения завершен, RecylcerView
получает обновление со всеми ViewHolder
, которые были добавлены ранее.
Я проверил, работает ли метод add из метода onCreate
, и он отлично работал. Возможно, эта проблема связана с потоковой обработкой.
Когда в верхней части отображается индикатор прогресса, в нормальном режиме onPause активен. Возможно ли предотвратить обновление RV? – Droidekas