在Android片段中,它是ViewPager的一部分,有一个带有EditText的ListView用于过滤。
filterEditText = (EditText) view.findViewById(R.id.filter_friends);
filterEditText. addTextChangedListener(textWatcher);
当我导航到另一个片段时, ondestroyview 被调用,然后当我导航回此片段时, onCreateView 被调用并且过滤不再有效,尽管实例变量仍然存在。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_new_game_facebook, container,
false);
return view;
}
如何正确处理这种情况?
答案 0 :(得分:0)
您可能正在使用FragmentStatePagerAdapter,它将销毁所有非活动片段以节省内存。当您不知道在运行时将使用多少片段时,这很有用,但如果您知道哪些片段将在寻呼机中,则会过于激进。尝试使用FragmentPagerAdapter,一旦离开它们就不会破坏碎片,因此您不需要手动保持每个碎片的状态并重新加载它。