Я хочу сохранить эти методы:
setListShown(true);
setListShownNoAnimation(true);
но если я использую
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
чтобы раздуть Fragment
с пользовательским макетом, предыдущие методы нельзя использовать, и показать это исключение:
07-30 20:17:46.937: E/AndroidRuntime(1374): Caused by: java.lang.IllegalStateException: Can't be used with a custom content view
07-30 20:17:46.937: E/AndroidRuntime(1374): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:282)
07-30 20:17:46.937: E/AndroidRuntime(1374): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:258)
Итак, какое возможное решение может быть?
РЕДАКТИРОВАТЬ:
Fragment
использует загрузчик для заполнения своего ListView
из базы данных. Вот почему я хочу сохранить эти методы, они нужны здесь:
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
if (isResumed()) {
setListShown(true);
} else {
setListShownNoAnimation(true);
}
}
Самым простым решением было бы создать свой собственный код на основе исходного кода ListFragment
, а также добавить виджет прогресса в макет, чтобы показать тот же эффект. К настоящему времени я удалю эти строки, как мне сказали. Если сделаю модификацию, то вставлю сюда.