从Dialog更改变量

时间:2011-12-07 03:38:26

标签: java android

我有一个主Activity和一个Dialog,我希望通过它来更改一些应用程序变量。遗憾的是,这包括更改几个不同类的现有实例的属性。我想做的是调用我的主Activity的方法,该方法将处理更改Activity的变量和修改现有的类实例。在我的Dialog中,我打电话给

mainActivity.smartSetter(variableName, variableValue);

在我的活动中我有

public void smartSetter(variableName name, float value) {
    switch (name) {
    case Name1: {do stuff}
    case Name2: {do stuff}
    //etc
}

编译器说我无法对非静态方法smartSetter进行静态引用。作为一个Java noob,我怀疑是因为需要在mainActivity的实例上调用smartSetter,而不仅仅是类本身。请有人澄清一下吗?

此外,这个问题似乎是由于应用程序架构的设计不佳引起的,所以我欢迎任何可以帮助我改进设计的建议,以便它更加实用和优雅。

1 个答案:

答案 0 :(得分:0)

也许这个smartSetter应该实现为Broadcast Receiver。我认为这example符合您的需求。