我的应用有使用ViewPager的主要活动和使用Fragments的三个标签。每个片段都是带有SwipeRefreshLayout的ListView。如果我的应用程序在后台运行(3-5小时),我认为它是从taskmanager中加载的,然后重新加载并且是fork。但是,如果我使用代码
从主活动中调用片段(我通过过滤器调用了另一个活动)@Override
public void onRefresh() {
if (mSwipeRefreshLayout != null) {
// начинаем показывать прогресс
mSwipeRefreshLayout.setRefreshing(true);
// ждем 3 секунды и прячем прогресс
mSwipeRefreshLayout.postDelayed(new Runnable() {
@Override
public void run() {
arrayVideo.clear();
adapter.notifyDataSetInvalidated();
offset = 0;
isEnd = false;
loadVideoList(limit, offset,
activity.settings.getString("videoFilterName", ""),
activity.settings.getInt("videoFilterSector", 0),
activity.settings.getInt("videoFilterNumber", 0),
activity.settings.getInt("videoFilterMain", 0));
offset += limit;
// говорим о том, что собираемся закончить
// Toast.makeText(MainActivity.this, R.string.refresh_finished, Toast.LENGTH_SHORT).show();
}
}, 500);
}
}
它导致崩溃。
问题:1)我如何反复得到这个错误?需要采取什么行动? (onStop .....)2)我做错了吗?
我知道了,这是对父活动的Fragments的真实调用:
VideoListFragment videoListFragment = (VideoListFragment) pagerAdapter.instantiateItem(mViewPager, TAB_VIDEO);