【发布时间】:2017-03-17 21:45:32
【问题描述】:
这是一个测试模式应用,用于测试安装此应用的设备(显示器、按键等)。
应用程序主要在一个活动上运行,该活动带有一个View Pager,其中有几个片段模拟不同的“屏幕”。这些片段中的每一个都承载一个按钮,然后将用户带到另一个活动,通过该活动他们可以测试他们的设备。
例如,在显示 fragment 上按“开始显示测试”会将用户带到显示 activity,然后他们会在其中连续看到三个图像;然后此活动从 MainActivity 调用一个名为 DISPLAY_TEST_PASSED 的全局标志并将其设置为 true,然后用户将通过 ViewPager 和显示 fragment 导航回 MainActivity。
我希望显示 fragment 上的文本从“显示测试”更新为“显示测试 - 通过”......但显示 活动 strong> 更新标志后调用 onBackPressed() 不会更新显示 fragment 中的文本。
有趣的是,从显示 activity 调用 NavUtils.navigateUpFromSameTask(DisplayTestActivity.this) 实际上会更新显示 fragment 中的文本。有什么不同?我虽然向上导航与调用 onBackPressed() 相同?
我的应用程序的视觉效果:
MainActivity (with view pager) : fragment1 ... DisplayFragment ... fragment3 ... fragment4 ...
|
DisplayActivity
I want DisplayActivity to update MainActivity (and thus the display fragment)
but for some reason this doesn't happen onBackPress() while it does on Up
Navigation. Why?
【问题讨论】: