我正在开发一个应用程序,用于根据用户贫困程度以特定顺序播放短歌曲。因此,要做类似的事情,我需要调用多次播放歌曲但具有不同参数的函数。
那么我该如何在运行时列出功能并执行呢?
答案 0 :(得分:1)
假设函数遵循一个序列(一个函数成功执行,则中继列表中的下一个函数),我建议创建一个回调接口,其方法返回布尔值。 确保方法在执行时返回布尔值,因此 创建ArrayList,确保列表中的最后一个元素均为false。
public void myFunctions(ArrayList<Boolean> functions, CallBackMethods mm){
for (int i = 0; i<functions.size(); i++){
mm = new FunctionChecker(functions.get(i));
while(mm.onSuccess()){
Log.d(TAG,"Function Ran");
}
}
}
上面的方法将运行arraylist中指定执行的所有函数。
以下是实现该接口的类;
public class FunctionChecker implements CallBackMethods{
private boolean methodFlag;
public FunctionChecker(boolean methodFlag) {
this.methodFlag = methodFlag;
}
@Override
public boolean onSuccess() {
return methodFlag?methodFlag:onFail();
}
@Override
public boolean onFail() {
return false;
}
}
这是界面;
public interface CallBackMethods {
boolean onSuccess();
boolean onFail();
}
这是一个令人费解的工作,但我希望它会有所帮助