【发布时间】:2016-12-31 12:07:56
【问题描述】:
我遇到了一个小问题。 我的 MainActivity 有一个包含 ListView 的片段。 ListView 上显示了一些项目。单击一个项目后,将打开另一个活动。当我单击“UP”按钮并返回到 MainActivity 时,除了正在消失的 ListView 之外,一切都正常显示。 我意识到我需要触发 ListView 重绘。 但到目前为止,我只找到一种方法:
listAdapter.clear();
listAdapter.addAll(...);
这有点反直觉,因为 ListView 的内容没有改变,我只是想再次显示它们。 那么有人知道实现它的简单方法吗?
谢谢!
【问题讨论】:
-
在活动上调用 onResume() 后,您是否检查过您的片段是否再次被调用并正确设置?
-
受到您和@Shreyash S Samayak 建议的启发,我进行了更多调试,最后发现我的问题是由 MainActivity 的重新创建引起的。在调试过程中,我意识到在单击 DetailActivity 的“向上”按钮以返回 MainActivity 后,由于 android:launchMode 重新创建了 MainActivity。如果我使用“返回”按钮,它没有。我喜欢下面的堆栈溢出问题,它可以很好地解释这个问题。 stackoverflow.com/questions/22182888/…
-
@alex-liu 这是一本很棒的书 - developer.android.com/design/patterns/navigation.html