我有 2 个活动,ActivityA
每个活动ActivityB
有 3 个按钮。我ActivityA
在一台连接的设备和ActivityB
另一台连接的设备上显示。每个按钮都可以处于 2 种状态中的 1 种状态,但这些状态需要反映在两个设备上。我正在使用具有静态方法的 util 类来接收来自两个活动的按钮按下并将其发送到服务,并在来自服务的回调时更新两个活动中按钮的状态。
现在,每个按钮从 xml 调用其对应活动中的一个函数。例如看起来像这样Button1
:onClick
android:onClick="button1Clicked"
该函数(来自其相应的活动)调用 UtilClass 中的一个函数,如下所示:
public void button1Clicked(View view) {
UtilClass.button1Cliked();
}
我设置了一个enum
in ,因此我知道在服务回调时UtilClass
要更新哪个按钮(在ActivityA
和中)。ActivityB
它看起来像这样:
public class UtilClass {
public static Button buttonPressed = WfdOperationButton.NONE;
public enum Button {
BUTTON1, BUTTON2, BUTTON3
}
public static void button1Cliked() {
buttonPressed = Button.BUTTON1;
//call asynctask to tell the service button1 was pushed by passing
//buttonPressed
}
public static void button2Cliked() {
buttonPressed = Button.BUTTON2;
//call asynctask to tell the service button2 was pushed by passing
//buttonPressed
}
...
我的问题是如何使用 in 中的相同enum
功能UtilClass
并ActivityA
合并ActivityB
in 中的 3 个buttonXClicked()
功能UtilClass
?我尝试的更改UtilClass
如下:
public static void buttonCliked(Button inButton) {
buttonPressed = inButton;
//call asynctask to tell the service inButton was pushed by passing
//buttonPressed
}
这不起作用,因为我不能在静态函数enum
中ActivityA
或ActivityB
静态函数中使用非静态来传递。但我需要枚举是非静态的,因为我需要在UtilClass
.
我是Android新手,所以如果我做错了什么,如果你指出我将不胜感激。
谢谢!