import android.widget.Switch; //导入方法依赖的package包/类
private void populate(final boolean enabled, List defaultActions, List existingActions) {
LinearLayout layout;
if (enabled) {
layout = findViewById(R.id.storyEnabledLinearLayout);
} else {
layout = findViewById(R.id.storyDisabledLinearLayout);
}
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 8, 0, 8);
for (final DeviceActionDAO action : defaultActions) {
Switch s = new Switch(this);
s.setText(action.getName());
s.setLayoutParams(lp);
// Check the matching switch for every list
for (StoryDeviceActionDAO existingAction : existingActions) {
if (enabled && existingAction.isEnabled() && existingAction.getActionId() == action.getId()) {
s.setChecked(true);
break;
} else if (!enabled && !existingAction.isEnabled() && existingAction.getActionId() == action.getId()) {
s.setChecked(true);
break;
}
}
layout.addView(s);
s.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
if (checked) {
db.createActionForStoryAndDevice(storyId, enabled, action);
} else {
db.deleteActionForStoryAndDevice(storyId, enabled, action);
}
}
});
}
}