片段保存侦听器的状态

时间:2014-08-06 16:53:39

标签: android android-fragments

在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;

}

如何正确处理这种情况?

1 个答案:

答案 0 :(得分:0)

您可能正在使用FragmentStatePagerAdapter,它将销毁所有非活动片段以节省内存。当您不知道在运行时将使用多少片段时,这很有用,但如果您知道哪些片段将在寻呼机中,则会过于激进。尝试使用FragmentPagerAdapter,一旦离开它们就不会破坏碎片,因此您不需要手动保持每个碎片的状态并重新加载它。