当我尝试从父活动中更新某些片段UI元素时,我注意到一种奇怪的行为。
如果有人可以提供一些理由,我会非常感激!
以下是该方案:
我有一个活动...说MyActivity。 内部MyActivity 我有几个片段: LeftFragment 和 RightFragment 。 LeftFragment有一个按钮:“ showTheDialogBtn ”。当我按下“showTheDialogBtn”时,我会看到一个带有一些EditText字段的对话框,另一个带有另一个按钮确定。该对话框在MyActivity 中创建(例如,不在LeftFragment内)。现在,当我按下该对话框上的确定按钮时,我试图通过调用 rightFragment.changeMyTextFieldColor(RED)的实例来更改位于RightFragment上的文本颜色。
我注意到在RightFragment的实例上调用changeMyTextFieldColor不会做任何事情。但是,如果我得到我需要在MyActivity内部更改的TextView(在OK按钮的onClickListener内),那么一切似乎都能正常工作。
对任何人都有意义吗?请让我知道。
答案 0 :(得分:0)
之所以没有更改是因为您拨打的changeMyTextFieldColor
与ONCREATEVIEW()
无关。
更多细节:您在屏幕上看到的内容来自onCreateView()。因此,如果要更新UI,则应修改来自onCreateView()的视图。你应该: