/* * Copyright 2012 Soichiro Kashima * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.androidformenhancer.test; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.Toast; import com.androidformenhancer.ValidationResult; import com.androidformenhancer.helper.ActivityFormHelper; /** * @author Soichiro Kashima */ public class MultipleCheckboxActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_multiple_checkbox); setupCheckboxes(); } public void onSubmit(View v) { ActivityFormHelper helper = new ActivityFormHelper(MultipleCheckboxForm.class, this); ValidationResult result = helper.validate(); if (result.hasError()) { Toast.makeText(this, result.getAllSerializedErrors(), Toast.LENGTH_SHORT).show(); } else { // Create entity and do what you want // e.g. insert into database, send to server by HTTP MultipleCheckboxEntity entity = helper.create(MultipleCheckboxEntity.class); Toast.makeText(this, "OK! " + entity.cadidates, Toast.LENGTH_SHORT).show(); } } private void setupCheckboxes() { ViewGroup parent = (ViewGroup) findViewById(R.id.cbg_dynamic_multiple); LayoutInflater inflater = LayoutInflater.from(this); for (int i = 0; i < 10; i++) { ViewGroup group = (ViewGroup) inflater.inflate(R.layout.multiple_checkbox_group, null); ((CheckBox) group.findViewById(R.id.cb1)).setText((i + 1) + "-1"); ((CheckBox) group.findViewById(R.id.cb1)).setTag("value" + (i + 1) + "-1"); ((CheckBox) group.findViewById(R.id.cb2)).setText((i + 1) + "-2"); ((CheckBox) group.findViewById(R.id.cb2)).setTag("value" + (i + 1) + "-2"); ((CheckBox) group.findViewById(R.id.cb3)).setText((i + 1) + "-3"); ((CheckBox) group.findViewById(R.id.cb3)).setTag("value" + (i + 1) + "-3"); parent.addView(group); } } }