Я довольно новичок в разработке android и искал решение за последние 4 часа.Несколько фрагментов с различными loadermanager
У меня есть 2 фрагмента в действии, и оба они используют разные таблицы sqlite для данных, которые затем будут помещаться в адаптеры для отображения внутри фрагмента.
Я использую диспетчер Loader, создав два разных загрузчика (с разными идентификаторами) для двух фрагментов. Я определяю функции обратного вызова Loader в каждом фрагменте. Проблема заключается в том, когда я загружаю данные с помощью одного фрагмента, в OnCreateLoader этого фрагмента возвращают нулевые данные для второго фрагмента.
вот код, который я реализован в одном фрагменте:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (id==1){
String[] projection = {
NoticeTable.COLUMN_ID,NoticeTable.COLUMN_TITLE
};
CursorLoader cursorLoader = new CursorLoader(this,
NoticeContentProvider.ALL_NOTICE_URI, projection, null, null, null);
return cursorLoader;
}
else{
return null;
}
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
switch (loader.getId()) {
case 1:
adapter.swapCursor(data);
break;
case 0:
break;
}
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
switch (loader.getId()) {
case 1:
adapter.swapCursor(null);
break;
case 0:
break;
}
}
Я использовал диспетчер загрузчика из библиотеки поддержки, которая была специфична для активности. Изменено это для диспетчера загрузчика и все его работоспособность. Благодаря! Кстати, можно ли в этом случае применить диспетчер загрузчика вместо диспетчера загрузчика. Один менеджер загрузчика, специфичный для одного действия? –
Я полагаю, это возможно, но я не совсем уверен, что вы имеете в виду. Когда я думаю об этом, каждый ListView специфичен для каждого фрагмента, поэтому я считаю, что Fragment должен нести за него ответственность. Если вы хотите поместить его в Activity, вы можете просто иметь два экземпляра адаптера и назначить каждый адаптер для соответствующего ListView, я думаю, что он может работать с некоторыми настройками. – AdamMc331