My Fragment有时候没有正确恢复。当应用程序不再在后台缓存进程中然后重新打开时,就会发生这种情况。如果发生这种情况,onActivityCreated
中所写的全部内容都没有发生,但我的System.out.println();
被调用了。所以我最终我的物品不再可点击了。我该如何解决这个问题?
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
System.out.println("onActivityCreated");
relative1 = (RelativeLayout)getActivity().findViewById(R.id.r1);
relative2 = (RelativeLayout)getActivity().findViewById(R.id.r2);
relative3 = (RelativeLayout)getActivity().findViewById(R.id.r3);
relative4 = (RelativeLayout)getActivity().findViewById(R.id.r4);
relative1.setOnClickListener(this);
relative2.setOnClickListener(this);
relative3.setOnClickListener(this);
relative4.setOnClickListener(this);
}
答案 0 :(得分:0)
当您将应用程序发送到后台然后前台时,如果出现内存问题或“请勿保持活动”,则会发生这种情况。您的活动和片段将再次创建。 在你的情况下,如果你在后台保持很长时间,它可能会重新创建。发生这种情况时,Activity将保留已打开片段的标志,并将再次打开它们。如果你没有进行控制,那么该片段将在Activity的onCreate上打开,并且Activity将以其符号打开。 如果您通过标志控制片段是否已打开,则可以解决此问题。如果它已经创建,你不应该打开第二个..