网格和列表片段之间的交换

时间:2014-09-11 09:55:22

标签: android android-fragments

我的屏幕布局的主要部分显示了一组项目。用户可以选择是否应显示网格或列表。因此,我实现了两个fragements(用于列表和网格),然后显示在占位符(主布局的主要部分)中。

但现在我想知道如何重复使用fragements以获得最后一个滚动位置等。如果我记住私有字段中的片段而不是重新创建它,那么视图仍然是空的。

有什么想法吗?

public void onShowGrid(View view) {

    // how to re-use instead of re-create
    fragmentGrid = new PreviewGridFragment();

    this.getFragmentManager().beginTransaction()
            .replace(R.id.preview_fragment, fragmentGrid)
            .addToBackStack(null).commit();
}

public void onShowList(View view) {

    // how to re-use instead of re-create
    fragmentList = new PreviewListFragment();

    this.getFragmentManager().beginTransaction()
            .replace(R.id.preview_fragment, fragmentList)
            .addToBackStack(null).commit();
}

Dynamic Fragments

1 个答案:

答案 0 :(得分:0)

我认为将片段保存在私有字段中并不是一个好主意,因为它会消耗内存并且您不需要这样做,更好的想法是在每个片段中创建静态字段并保存最后一个位置然后当您创建新片段滚动到该位置。