跨链接“链接”对象的文本

时间:2014-04-10 13:24:09

标签: java android android-fragments static

在带有static的java / android API中是否有任何“技巧”可以同时更改片段中具有相同ID的对象中的文本?

假设我有一个静态字符串:

private static String   buttonText = "Today";

并且每个片段都有一个按钮:

Button mButton = (Button) getView().findViewById(R.id.change_button);
mBotton.setText(buttonText);

要更改该片段上的文字:

buttonText = "Tomorrow";
mBotton.setText(buttonText);

我可以自动将文本更改为其他片段吗?保持List<Button>我唯一的方法(循环列表并为每个列表设置文本)?

1 个答案:

答案 0 :(得分:0)

也许这正是您所需要的:http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity

你可以用这个来构建一个完美的Oberserver-Like行为。

  1. 您创建了一个界面,我们将其称为OnButtonTextChangeListener,它定义了一种方法void onButtonTextChangeWanted( String buttontext )

  2. 您的Activity实现了该接口,您的Fragments确保添加它们的活动。 (所有在链接文章中描述) 在该实现中,您更改了包含按钮文本的Activity的成员,然后通过调用片段上的方法changeButtonText( buttontext )来通知所有已注册的更改片段,该片段执行您在问题中所写的内容:更改该片段上的按钮。这样,您可以通过附加的活动将channge分配给所有片段。

  3. 可能有更好的解决方案。我的Android有点生锈......