您的位置:首页 > 移动开发 > Objective-C

viewpager fragment FragmentStatePagerAdapter数据删除后更新界面

2016-08-11 15:24 651 查看
private class MyAdapter extends FragmentStatePagerAdapter{
.......................省略.............................
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
}

由于getItemPosition(xxx) {return PagerAdapter.POSITION_NONE;},所以当执行adapter.notifyDataSetChanged(),会执行destroyItem(xxx),在这个方法中会执行mSavedState.set(xxx),说明销毁fragment前会保存当前的FragmentInstanceState,销毁所有的fragment后,它会新建所需的fragment并在fragment.onresume()之前使用刚才保存的FragmentInstanceState,所以页面上的数据还是原来的。

那么只需要在fragment.onresume()设置界面,并设置一些监听,例如

public void onResume() {
super.onResume();
mTitle.setText(mRecord.getTitle());
mDetail.setText(mRecord.getDetail());
mRecordSolved.setChecked(mRecord.isSolved());

mTitle.addTextChangedListener(mTitleTextWatcher);
mDetail.addTextChangedListener(mDetailTextWatcher);
mRecordSolved.setOnCheckedChangeListener(mSolvedOnCheckedChangeListener);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐