如何在android studio中为可调用函数传递值?
我试图在代码中向回调函数传递一个值, 我正在将我的如何在android studio中为可调用函数传递值?,android,android-studio,callable-statement,Android,Android Studio,Callable Statement,我试图在代码中向回调函数传递一个值, 我正在将我的回调传递给另一个函数,我希望它返回回调状态 这是我要发送的函数> wifiWrapper myWifiWrapper = new wifiWrapper(); //- INIZILIZING WIFI myWifiWrapper.checkWifiState(this, wifiStateCallback); 这是wifiWrapper类中的最终函数> //checks if the wifi is On
回调
传递给另一个函数,我希望它返回回调
状态
这是我要发送的函数>
wifiWrapper myWifiWrapper = new wifiWrapper(); //- INIZILIZING WIFI
myWifiWrapper.checkWifiState(this, wifiStateCallback);
这是wifiWrapper类中的最终函数>
//checks if the wifi is On or Off
public void checkWifiState (Context context, Callable callback) {
WifiManager wifi = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
boolean isOn;
if (wifi.isWifiEnabled()){
Toast.makeText(context.getApplicationContext(), "Your Wi-Fi is enabled", //wifi is enabled
Toast.LENGTH_SHORT).show();
isOn = true;
} else {
Toast.makeText(context.getApplicationContext(), "Your Wi-Fi is disabled", //wifi is disabled
Toast.LENGTH_SHORT).show();
isOn = false;
}
try { //trys to call back to the callable function
callback.call();
} catch (Exception e) {
e.printStackTrace();
}
}
这是我要通过的电话号码>
//callback for the ifiState
Callable wifiStateCallback = new Callable() {
@Override
public Boolean call() throws Exception {
return null;
}
};
问题是
我想将isOnState
传递给可调用的
,但似乎无法使其工作。
我在补充
callback.call(isOn);
但是它不起作用,它说它不能被应用你不能无缘无故地给
call()
添加参数并期望它能起作用。Callable的call()
是无参数的。然而,您可以做的是扩展Callable并通过构造函数传递您想要的任何内容:
class MyCallable extends Callable {
boolean isOn;
public MyCallable(boolean isOn) {
mIsOn = isOn;
}
public Boolean call() throws Exception {
if (mIsOn) {
...
}
...
}
}
那么
Callable wifiStateCallback = new MyCallable(false);
您不能凭空将参数添加到
call()
,并期望它工作。Callable的call()
是无参数的。然而,您可以做的是扩展Callable并通过构造函数传递您想要的任何内容:
class MyCallable extends Callable {
boolean isOn;
public MyCallable(boolean isOn) {
mIsOn = isOn;
}
public Boolean call() throws Exception {
if (mIsOn) {
...
}
...
}
}
那么
Callable wifiStateCallback = new MyCallable(false);
你从来没有解释过你在这段代码中遇到的问题。你能解释一下你真正的问题是什么吗?如果你说你的callable不包含布尔值,那么把
isOn
传给callback。call(isOn)
传给你的callback嘿,伙计们,对不起,当我添加,“我想将isOn状态传递给可调用函数,但似乎无法使其工作。”这就是我想做的。我想将isOn传递给可调用函数,如下所示>callback.call(isOn);但这不起作用,它说callable不能被应用,@vijay_ti编辑了我的第一个初始问题你从未解释过你在这段代码中面临的问题。你能解释一下你的实际问题是什么吗?如果你说callable不包含布尔值,那么把isOn
传递到callback.call(isOn)
给你的callback嘿,伙计们,很抱歉,当我添加“我想将isOn状态传递给可调用函数,但似乎无法使其工作”时,我想这样做。我想将isOn传递给可调用函数,如下所示>callback.call(isOn);但这不起作用,它说调用callble无法应用,@vijay_ti编辑了我的第一个初始问题我试图在扫描条形码活动类中添加该类,但它错误地将“Callable”一词改为“Callable”,它说这里不需要接口。@Marcin Orlowski你能告诉我如何在我自己的代码中实现它吗?我不明白关于如何使用它@Marcin Orlowski我试图在我的扫描条形码活动类中添加该类,但它错误地使用了“可调用”一词,它说这里不需要接口。@Marcin Orlowski你能告诉我如何在我自己的代码中实现它吗?我不明白如何使用@Marcin Orlowski