2
我使用15个输入创建表单,并且希望观察这些输入以检查是否有更改,我将输入的结果与当前的userModel
进行比较。我怎样才能减少代码,因为似乎有点复杂。它看起来像:RxJava combineLatest - 从变化中可观察到
Observable.combineLatest(fieldsViewHolder.observableInputsChanges(), new FuncN<Boolean>() {
@Override
public Boolean call(Object... args) {
if(userModel != null) {
return args[0].toString().equals(userModel.getFirstName()) && args[1].toString().equals(userModel.getLastName()) && args[2].toString().equals(userModel.getEmail()) &&
args[3].toString().equals(userModel.getMobilePhone()) && args[4].toString().equals(userModel.getCompanyPlace()) && args[5].toString().equals(userModel.getCompanyName()) &&
args[6].toString().equals(userModel.getCountry()) && args[7].toString().equals(userModel.getCompanyPosition()) && args[8].toString().equals(userModel.getPhone()) &&
args[9].toString().equals(userModel.getPostalCode()) && args[10].toString().equals(userModel.getStreet1()) && args[11].toString().equals(userModel.getStreet2()) &&
args[12].toString().equals(userModel.getFirstName()) && args[13].toString().equals(userModel.getWebPage()) && args[14].toString().equals(userModel.getCity());
}
return args[0].toString().isEmpty() && args[1].toString().isEmpty() && args[2].toString().isEmpty() &&
args[3].toString().isEmpty() && args[4].toString().isEmpty() && args[5].toString().isEmpty() &&
args[6].toString().isEmpty() && args[7].toString().isEmpty() && args[8].toString().isEmpty() &&
args[9].toString().isEmpty() && args[10].toString().isEmpty() && args[11].toString().isEmpty() &&
args[12].toString().isEmpty() && args[13].toString().isEmpty() && args[14].toString().isEmpty();
}
});
听起来很好,但我要检查所有的输入'如果它们是空args'对象。看看编辑后 – Michael
@Michael现在检查:D我首先忘了[i]; –
或类似的东西: 'boolean isChange = true; 对(INT I = 0; I <15;我++){ isChange&= ARGS [I]的ToString()的isEmpty() !}返回isChange;' – Michael