我有一个带有片段 FA 的活动 A,从这个片段我转到 FAB,最后一个片段是一个 FragmentPagerAdapter。当我从 A 到 FA 到 FB 时,按返回按钮并返回到 FA,然后再次转到 FB,这个片段没有显示任何内容。
我的来自寻呼机适配器的 getView 方法没有被调用。
这是我的交易代码:
从 A 到 FA:
private void setFragment() {
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment replyGroupsFragment = new ReplyGroupsFragment();
Bundle bundle = new Bundle();
bundle.putString("title", reportName);
replyGroupsFragment.setArguments(bundle);
fragmentManager.beginTransaction().replace(R.id.container, replyGroupsFragment, "ReplyGroupsFragment").commit();
getSupportActionBar().setTitle(getString(R.string.info));
getSupportActionBar().setDisplayShowTitleEnabled(true);
}
从 FA 到 FB(使用黄油刀)
@OnItemClick(R.id.listViewReplyGroup)
void listClick(int position) {
List<DomainReplie> domainReplieArrayList = generateRepliesList(position);
setRepliesFragment((ArrayList<DomainReplie>) domainReplieArrayList);
}
我的 PagerFragment 包含以下内容:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ReplyGroupsActivity replyGroupsActivity = (ReplyGroupsActivity) getActivity();
List<DomainReplie> replies = getArguments().getParcelableArrayList("replies");
adapter = new PagerAdapter(replyGroupsActivity.getSupportFragmentManager(), this, replies);
setActionBar();
}
@Override
public void onResume() {
super.onResume();
FirextApplication.getInstance().getBus().register(this);
}
@Override
public void onPause() {
super.onPause();
FirextApplication.getInstance().getBus().unregister(this);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.work_containter_replies, container, false);
ButterKnife.inject(this, view);
pager.setAdapter(adapter);
return view;
}
两种情况下的生命周期都是相等的,但在第二轮屏幕中没有显示任何内容。