2

我使用 baseadapter 创建了一个自定义列表视图。列表项包含一个用于多选目的的复选框。我在 baseadapter 中添加了一个函数,该函数返回所选项目的位置。

为了对列表项进行分类,我尝试使用带有 FragmentPagerAdapter 的 Viewpager 将列表视图放入片段中。现在每个片段都有自己的多选列表视图。用户需要能够在页面之间滑动并最终选择项目,然后才能移动到我拥有的下一个活动将所有选定的项目位置收集到一个二维列表或数组中。

MyProblem:Viewpager 似乎只在内存中维护了 2 个附加页面,位于当前页面的任一侧。如果我的 viewpager 在角落或超过 3 页,我无法收集某些片段中的选定项目列表。

我将不胜感激这方面的任何帮助。

4

1 回答 1

0

当用户离开它时,让每个Fragment保存选定的项目。SharedPreferences稍后让您的其他人Activity从中检索项目SharedPreferences

int len = listView.getCount();
SparseBooleanArray checked = listView.getCheckedItemPositions();
for (int i = 0; i < len; i++)
{
    if (checked.get(i)) 
    {
        // Get the item
        // Deal with the checked item. 
        // ex: add to ArrayList
        arrayList.add(item);
    }
}

Set<String> set = new HashSet<String>();
set.addAll(arrayList);
mSharedPreferences.edit().putStringSet("key", set).apply();
于 2015-07-25T15:54:44.383 回答