1

我有一个简单的聊天应用程序,带有 ViewPager 用于活动聊天,现在,我使用

    @Override
    public int getItemPosition(Object object)
    {
        return POSITION_NONE;
    }

但这会导致重新创建所有片段,如果消息太多,它将滞后,并且每当收到消息时它都会关闭键盘,所以我试图覆盖 instantiateItem,但我无法到达任何地方,因为我不知道如何处理它,我想更新所有列表视图/片段,而不仅仅是活动的。

我还尝试使用片段的onCreateView,获取列表视图,向其中添加适配器,并将该适配器添加到数组列表中,每当每条消息到来时,都会更新此数组列表中的所有适配器,但这不起作用正如预期的那样,我不得不离开 ViewPager 然后再次回到它(因为 ViewPager 在 tabHost 内)才能显示消息。

任何帮助表示赞赏,谢谢。

4

1 回答 1

1

请使用 getItemPostion() 中的 setTag() 方法更新视图,而不是返回 POSITION_NONE。使用 setTag() 的原因以及如何做到这一点的方法在这篇文章ViewPager PagerAdapter not updates the View中得到了很好的解释

于 2012-10-02T20:46:59.137 回答