【发布时间】:2014-05-21 16:22:48
【问题描述】:
我有一个 MainActivity.java,它使用 BroadcastReceiver 不断地(就像每隔 2 秒一样)检测它从其他外部设备接收到的信号。然后这个 MainActivity 是实时的并不断检测信号,它不断地计算它接收到的信号数量,然后存储在一个变量 (varA) 中。此后,我需要显示 SignalFragment.java 中已接收到多少信号(varA)(使用片段,因为我需要选项卡/寻呼机,使用 onCreateView),并且 SignalFragment 中的显示应该是实时的,并且会更新并显示在每当 BroadcastReceiver 检测到信号时(每当 varA 更改/更新)时的文本视图。
但是,即使我使用 GlobalState 变量,我也无法不断更新 SignalFragment。您如何不断更新 SignalFragment 中的文本视图/或不断将变量从 MainActivity 传递给 SignalFragment?如何做到这一点?
【问题讨论】:
-
难道不能只在 SignalFragment 中有一个可以调用来更新 textView 的方法吗?父活动可以在需要更新时调用它。有什么挑战?如果需要更多帮助,请显示代码。
-
@uDevel,我尝试在 SignalFragment 中使用一个方法,但它不起作用。公共无效 setNoOfDevices(int noOfDevices) { textview.setText(Integer.toString(noOfDevices));然后在我的 MainActivity 中,我调用 SignalFragment sf = new SignalFragment(); sf.setNoOfDevices(值);但它没有显示。
-
您没有创建一个新片段来调用该方法,是吗?你应该得到现有的片段,然后调用它的方法,对吧?
-
哦,废话。如何获取现有片段? >
-
我把它放在答案里
标签: android android-fragments broadcastreceiver fragment android-fragmentactivity