Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.itse.htsurvey;
- import com.google.gson.Gson;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.CompoundButton.OnCheckedChangeListener;
- import android.widget.EditText;
- import android.widget.LinearLayout;
- import android.widget.RelativeLayout;
- import android.widget.ScrollView;
- import android.widget.TextView;
- import android.widget.Toast;
- import android.widget.AdapterView.OnItemSelectedListener;
- public class Question2Page2Activity extends Activity {
- private static final Integer nextRequestCode = 10000;
- private String user_type;
- private QuestionnaireDataSet qDataSet;
- private ProgressDialog ProcessingDialog;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.section2_page2);
- //retrieve reference to object of class
- Intent i = getIntent();
- qDataSet = (QuestionnaireDataSet) i.getSerializableExtra("qDataSet");
- setupQ2_7();
- setupQ2_8();
- setupQ2_9();
- setupQ2_10();
- setupQ2_11();
- setupQ2_11_1();
- //disable auto focus on scroll in scrollview
- ScrollView sv = (ScrollView) findViewById(R.id.scrollView);
- ScrollViewFocus svf = new ScrollViewFocus(sv);
- svf.noScroll();
- //scroll view back to top
- svf.scrollToTop();
- //restore user_type setting
- SharedPreferences settings = getSharedPreferences("user_type", MODE_PRIVATE);
- user_type = settings.getString("user_type", null);
- }
- //------------------------------------------------------------------------------------------------------
- //repopulate fields with saved data
- //------------------------------------------------------------------------------------------------------
- protected void onStart() {
- super.onStart();
- populateFields();
- }
- //------------------------------------------------------------------------------------------------------
- //show menu
- //------------------------------------------------------------------------------------------------------
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- if (user_type.equals("interviewer"))
- inflater.inflate(R.menu.menu, menu);
- else
- inflater.inflate(R.menu.menu_supervisor, menu);
- return true;
- }
- //------------------------------------------------------------------------------------------------------
- //handle menu item selection
- //------------------------------------------------------------------------------------------------------
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- actionBarActivities abAct = new actionBarActivities(this, this);
- Gson gson = new Gson();
- String JSONstring;
- ProgressDialog ProcessingDialog = null;
- switch (item.getItemId()) {
- case R.id.menu_sign_off:
- abAct.confirmSignOff(qDataSet.getqID());
- return true;
- case R.id.menu_save:
- //save entered data
- saveEnteredData();
- JSONstring = gson.toJson(qDataSet);
- abAct.saveQuestionnaire(JSONstring, qDataSet.getqID());
- return true;
- case R.id.menu_submit:
- saveEnteredData();
- if (qDataSet.getQ6_3_3_2() != null) {
- if (qDataSet.getPeopleNum() > 0 && qDataSet.getPeopleNum() == Integer.parseInt(qDataSet.getQ1_2())) {
- JSONstring = gson.toJson(qDataSet);
- Log.d("Gson", "JSON String: "+JSONstring);
- QuestionnaireUpload qu = new QuestionnaireUpload(this, this);
- qu.upload(JSONstring, ProcessingDialog, getString(R.string.sendQuestionnairePHPurl));
- }
- else
- Toast.makeText(this, "First complete the questionnaire for all household members.", Toast.LENGTH_SHORT).show();
- }
- else
- Toast.makeText(this, "First complete the questionnaire before submitting it.", Toast.LENGTH_SHORT).show();
- return true;
- case R.id.menu_close:
- abAct.confirmClose(qDataSet);
- return true;
- case R.id.menu_exit:
- abAct.confirmExit(qDataSet);
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.7
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_7() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_7);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom1, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to spinner
- NoDefaultSpinner s1 = (NoDefaultSpinner) v.findViewById(R.id.spinner1);
- s1.setPrompt(getString(R.string.question2_7_spinnerTitle));
- s1.setId(i);
- //set spinner width
- LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) s1.getLayoutParams();
- lp.width = 150;
- s1.setLayoutParams(lp);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.question2_7_spinner, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s1.setAdapter(adapter);
- //add click listener to spinner
- final LinearLayout ll2_8 = (LinearLayout) findViewById(R.id.ll2_8);
- final LinearLayout ll2_9 = (LinearLayout) findViewById(R.id.ll2_9);
- s1.setOnItemSelectedListener(new OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
- if (position == (parentView.getCount()-1)) {
- ll2_8.getChildAt(parentView.getId()).setVisibility(View.VISIBLE);
- //add enable events for next question
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(parentView.getId()).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(parentView.getId() + 100).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(parentView.getId() + 200).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(parentView.getId() + 300).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(parentView.getId() + 400).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(parentView.getId() + 500).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(parentView.getId() + 600).setEnabled(true);
- ll2_8.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(parentView.getId() + 700).setEnabled(true);
- }
- else {
- ll2_8.getChildAt(parentView.getId()).setVisibility(View.GONE);
- //add enable events for next question
- ll2_9.getChildAt(parentView.getId()).findViewById(parentView.getId()).setEnabled(true);
- }
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //add inflated view to linear layout
- insertPoint.addView(v);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.8
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_8() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_8);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom13, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to check boxes
- CheckBox cb1 = (CheckBox) v.findViewById(R.id.checkBox1);
- CheckBox cb2 = (CheckBox) v.findViewById(R.id.checkBox2);
- CheckBox cb3 = (CheckBox) v.findViewById(R.id.checkBox3);
- CheckBox cb4 = (CheckBox) v.findViewById(R.id.checkBox4);
- CheckBox cb5 = (CheckBox) v.findViewById(R.id.checkBox5);
- CheckBox cb6 = (CheckBox) v.findViewById(R.id.checkBox6);
- CheckBox cb7 = (CheckBox) v.findViewById(R.id.checkBox7);
- CheckBox cb8 = (CheckBox) v.findViewById(R.id.checkBox8);
- cb1.setId(i);
- cb2.setId(i + 100);
- cb3.setId(i + 200);
- cb4.setId(i + 300);
- cb5.setId(i + 400);
- cb6.setId(i + 500);
- cb7.setId(i + 600);
- cb8.setId(i + 700);
- //add id to edittext
- final EditText et1 = (EditText) v.findViewById(R.id.editText1);
- et1.setId(i + 800);
- //add click listener to check boxes
- final LinearLayout ll2_9 = (LinearLayout) findViewById(R.id.ll2_9);
- OnCheckedChangeListener cbListener = new OnCheckedChangeListener() {
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- //add enable events for next question
- CheckBox cb = (CheckBox) buttonView;
- ll2_9.getChildAt(cb.getId() % 100).findViewById(cb.getId() % 100).setEnabled(true);
- }
- };
- cb1.setOnCheckedChangeListener(cbListener);
- cb2.setOnCheckedChangeListener(cbListener);
- cb3.setOnCheckedChangeListener(cbListener);
- cb4.setOnCheckedChangeListener(cbListener);
- cb5.setOnCheckedChangeListener(cbListener);
- cb6.setOnCheckedChangeListener(cbListener);
- cb7.setOnCheckedChangeListener(cbListener);
- //click listener for Other
- cb8.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- //make visible specify other edittext
- CheckBox cb = (CheckBox) buttonView;
- if (isChecked)
- et1.setVisibility(View.VISIBLE);
- else {
- et1.setVisibility(View.GONE);
- et1.setText("");
- }
- //add enable events for next question
- ll2_9.getChildAt(cb.getId() % 100).findViewById(cb.getId() % 100).setEnabled(true);
- }
- });
- //add inflated view to linear layout
- v.setVisibility(View.GONE);
- insertPoint.addView(v);
- //disable views
- cb1.setEnabled(false);
- cb2.setEnabled(false);
- cb3.setEnabled(false);
- cb4.setEnabled(false);
- cb5.setEnabled(false);
- cb6.setEnabled(false);
- cb7.setEnabled(false);
- cb8.setEnabled(false);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.9
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_9() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_9);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom2, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to spinner
- NoDefaultSpinner s1 = (NoDefaultSpinner) v.findViewById(R.id.spinner1);
- s1.setPrompt(getString(R.string.question2_9_spinnerTitle));
- s1.setId(i);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.question2_9_spinner, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s1.setAdapter(adapter);
- //add id to edittext
- final EditText et1 = (EditText) v.findViewById(R.id.editText1);
- et1.setId(i + 100);
- //add click listener to spinner
- final LinearLayout ll2_10 = (LinearLayout) findViewById(R.id.ll2_10);
- s1.setOnItemSelectedListener(new OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
- if ((position == (parentView.getCount()-1)) || (position == (parentView.getCount()-2)))
- et1.setVisibility(View.VISIBLE);
- else {
- et1.setVisibility(View.INVISIBLE);
- et1.setText("");
- }
- //add enable events for next question
- ll2_10.getChildAt(parentView.getId()).findViewById(parentView.getId()).setEnabled(true);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //add inflated view to linear layout
- insertPoint.addView(v);
- //disable views
- s1.setEnabled(false);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.10
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_10() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_10);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom2, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to spinner
- NoDefaultSpinner s1 = (NoDefaultSpinner) v.findViewById(R.id.spinner1);
- s1.setPrompt(getString(R.string.question2_10_spinnerTitle));
- s1.setId(i);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.question2_10_spinner, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s1.setAdapter(adapter);
- //add id to edittext
- final EditText et1 = (EditText) v.findViewById(R.id.editText1);
- et1.setId(i + 100);
- //add click listener to spinner
- final LinearLayout ll2_11 = (LinearLayout) findViewById(R.id.ll2_11);
- s1.setOnItemSelectedListener(new OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
- if (position == (parentView.getCount()-1))
- et1.setVisibility(View.VISIBLE);
- else {
- et1.setVisibility(View.INVISIBLE);
- et1.setText("");
- }
- //add enable events for next question
- ll2_11.getChildAt(parentView.getId()).findViewById(parentView.getId()).setEnabled(true);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //add inflated view to linear layout
- insertPoint.addView(v);
- //disable views
- s1.setEnabled(false);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.11
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_11() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_11);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom1, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to spinner
- NoDefaultSpinner s1 = (NoDefaultSpinner) v.findViewById(R.id.spinner1);
- s1.setPrompt(getString(R.string.question2_11_spinnerTitle));
- s1.setId(i);
- //set spinner width
- LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) s1.getLayoutParams();
- lp.width = 150;
- s1.setLayoutParams(lp);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.question2_11_spinner, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s1.setAdapter(adapter);
- //add click listener to spinner
- final LinearLayout ll2_11_1 = (LinearLayout) findViewById(R.id.ll2_11_1);
- s1.setOnItemSelectedListener(new OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
- if (position == (parentView.getCount()-1)) {
- ll2_11_1.getChildAt(parentView.getId()).setVisibility(View.VISIBLE);
- //add enable events for next question
- ll2_11_1.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(parentView.getId()).setEnabled(true);
- ll2_11_1.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(parentView.getId() + 100).setEnabled(true);
- ll2_11_1.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(parentView.getId() + 200).setEnabled(true);
- ll2_11_1.getChildAt(parentView.getId()).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(parentView.getId() + 300).setEnabled(true);
- }
- else
- ll2_11_1.getChildAt(parentView.getId()).setVisibility(View.GONE);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- //add inflated view to linear layout
- if (Integer.parseInt(qDataSet.getPerson(i).getAge()) < 18)
- v.setVisibility(View.GONE);
- insertPoint.addView(v);
- //disable views
- s1.setEnabled(false);
- }
- }
- //-------------------------------------------------------------------------------------------------------
- //setup spinners for question 2.11.1
- //-------------------------------------------------------------------------------------------------------
- private void setupQ2_11_1() {
- //add custom view to layout for every person
- LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll2_11_1);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //inflate custom1 view
- View v = getLayoutInflater().inflate(R.layout.custom14, insertPoint, false);
- //add name and surname to textview
- TextView tvName = (TextView) v.findViewById(R.id.textView1);
- tvName.setText(qDataSet.getPerson(i).getFirstName() + " " + qDataSet.getPerson(i).getSurname());
- //add details to check boxes
- CheckBox cb1 = (CheckBox) v.findViewById(R.id.checkBox1);
- CheckBox cb2 = (CheckBox) v.findViewById(R.id.checkBox2);
- CheckBox cb3 = (CheckBox) v.findViewById(R.id.checkBox3);
- CheckBox cb4 = (CheckBox) v.findViewById(R.id.checkBox4);
- cb1.setId(i);
- cb2.setId(i + 100);
- cb3.setId(i + 200);
- cb4.setId(i + 300);
- //add id to edittext
- final EditText et1 = (EditText) v.findViewById(R.id.editText1);
- et1.setId(i + 400);
- //click listener for Other
- cb4.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- //make visible specify other edittext
- CheckBox cb = (CheckBox) buttonView;
- if (isChecked)
- et1.setVisibility(View.VISIBLE);
- else {
- et1.setVisibility(View.GONE);
- et1.setText("");
- }
- }
- });
- //add inflated view to linear layout
- v.setVisibility(View.GONE);
- insertPoint.addView(v);
- //disable views
- cb1.setEnabled(false);
- cb2.setEnabled(false);
- cb3.setEnabled(false);
- cb4.setEnabled(false);
- }
- }
- //------------------------------------------------------------------------------------------------------
- //open next activity when next step button clicked
- //------------------------------------------------------------------------------------------------------
- public void nextStep(View v) {
- if (dataComplete()) {
- //save entered data
- saveEnteredData();
- //launch next activity
- Intent questionIntent = new Intent(Question2Page2Activity.this, Question3Page1Activity.class);
- questionIntent.putExtra("qDataSet", qDataSet);
- startActivityForResult(questionIntent, nextRequestCode);
- }
- else
- Toast.makeText(Question2Page2Activity.this, "First complete all questions on this page.", Toast.LENGTH_SHORT).show();
- }
- //------------------------------------------------------------------------------------------------------
- //check that all data is filled in
- //------------------------------------------------------------------------------------------------------
- private boolean dataComplete() {
- RelativeLayout rl = (RelativeLayout) findViewById(R.id.mainRelativeLayout);
- boolean valid = true;
- for (int i = 0; i < rl.getChildCount(); i++) {
- View v1 = rl.getChildAt(i);
- Class c1 = v1.getClass();
- if (c1 == LinearLayout.class) {
- LinearLayout ll = (LinearLayout) v1;
- for (int j = 0; j < ll.getChildCount(); j++) {
- LinearLayout llInner = (LinearLayout) ll.getChildAt(j);
- for (int k = 0; k < llInner.getChildCount(); k++) {
- View v2 = llInner.getChildAt(k);
- Class c2 = v2.getClass();
- //check if spinner is visible and item selected
- if (c2 == NoDefaultSpinner.class) {
- NoDefaultSpinner s1 = (NoDefaultSpinner) v2;
- if (llInner.getVisibility() == View.VISIBLE && s1.getSelectedItem() == null)
- valid = false;
- }
- //check if edittext from other is filled in
- else if (c2 == EditText.class) {
- EditText et1 = (EditText) v2;
- if (et1.getVisibility() == View.VISIBLE && et1.length() == 0)
- valid = false;
- }
- }
- }
- }
- }
- return valid;
- }
- //------------------------------------------------------------------------------------------------------
- //save entered data to object of persondataset class
- //------------------------------------------------------------------------------------------------------
- private void saveEnteredData() {
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- //question 2.7
- LinearLayout ll2_7 = (LinearLayout) findViewById(R.id.ll2_7);
- NoDefaultSpinner s2_7 = (NoDefaultSpinner) ll2_7.getChildAt(i).findViewById(i);
- String selected2_7 = s2_7.getSelectedItem() != null ? s2_7.getSelectedItem().toString() : "";
- qDataSet.getPerson(i).setQ2_7(selected2_7);
- //question 2.8
- LinearLayout ll2_8 = (LinearLayout) findViewById(R.id.ll2_8);
- CheckBox cb1 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i);
- CheckBox cb2 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i + 100);
- CheckBox cb3 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 200);
- CheckBox cb4 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 300);
- CheckBox cb5 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 400);
- CheckBox cb6 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 500);
- CheckBox cb7 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(i + 600);
- CheckBox cb8 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(i + 700);
- EditText et2_8 = (EditText) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr5).findViewById(i + 800);
- //add disability
- if (selected2_7.equals("Yes")) {
- //add other disability
- qDataSet.getPerson(i).setQ2_8_1(cb1.isChecked());
- qDataSet.getPerson(i).setQ2_8_2(cb2.isChecked());
- qDataSet.getPerson(i).setQ2_8_3(cb3.isChecked());
- qDataSet.getPerson(i).setQ2_8_4(cb4.isChecked());
- qDataSet.getPerson(i).setQ2_8_5(cb5.isChecked());
- qDataSet.getPerson(i).setQ2_8_6(cb6.isChecked());
- qDataSet.getPerson(i).setQ2_8_7(cb7.isChecked());
- qDataSet.getPerson(i).setQ2_8_8(et2_8.getText().toString());
- }
- //no disability
- else {
- qDataSet.getPerson(i).setQ2_8_1(false);
- qDataSet.getPerson(i).setQ2_8_2(false);
- qDataSet.getPerson(i).setQ2_8_3(false);
- qDataSet.getPerson(i).setQ2_8_4(false);
- qDataSet.getPerson(i).setQ2_8_5(false);
- qDataSet.getPerson(i).setQ2_8_6(false);
- qDataSet.getPerson(i).setQ2_8_7(false);
- qDataSet.getPerson(i).setQ2_8_8("");
- }
- //question 2.9
- LinearLayout ll2_9 = (LinearLayout) findViewById(R.id.ll2_9);
- NoDefaultSpinner s2_9 = (NoDefaultSpinner) ll2_9.getChildAt(i).findViewById(i);
- String selected2_9 = s2_9.getSelectedItem() != null ? s2_9.getSelectedItem().toString() : "";
- EditText et2_9 = (EditText) ll2_9.getChildAt(i).findViewById(i + 100);
- //add other
- if (s2_9.getSelectedItemPosition() == s2_9.getAdapter().getCount()-1 || s2_9.getSelectedItemPosition() == s2_9.getAdapter().getCount()-2)
- qDataSet.getPerson(i).setQ2_9(et2_9.getText().toString());
- //add preset
- else
- qDataSet.getPerson(i).setQ2_9(selected2_9);
- //question 2.10
- LinearLayout ll2_10 = (LinearLayout) findViewById(R.id.ll2_10);
- NoDefaultSpinner s2_10 = (NoDefaultSpinner) ll2_10.getChildAt(i).findViewById(i);
- String selected2_10 = s2_10.getSelectedItem() != null ? s2_10.getSelectedItem().toString() : "";
- EditText et2_10 = (EditText) ll2_10.getChildAt(i).findViewById(i + 100);
- //add other
- if (s2_10.getSelectedItemPosition() == s2_10.getAdapter().getCount()-1)
- qDataSet.getPerson(i).setQ2_10(et2_10.getText().toString());
- //add preset
- else
- qDataSet.getPerson(i).setQ2_10(selected2_10);
- //question 2.11
- LinearLayout ll2_11 = (LinearLayout) findViewById(R.id.ll2_11);
- NoDefaultSpinner s2_11 = (NoDefaultSpinner) ll2_11.getChildAt(i).findViewById(i);
- String selected2_11 = s2_11.getSelectedItem() != null ? s2_11.getSelectedItem().toString() : "";
- if (ll2_11.getChildAt(i).getVisibility() != View.GONE)
- qDataSet.getPerson(i).setQ2_11(selected2_11);
- else
- qDataSet.getPerson(i).setQ2_11("N/A");
- //question 2.11_1
- LinearLayout ll2_11_1 = (LinearLayout) findViewById(R.id.ll2_11_1);
- cb1 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i);
- cb2 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i + 100);
- cb3 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 200);
- cb4 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 300);
- EditText et2_11_1 = (EditText) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 400);
- //add license
- if (selected2_11.equals("Yes")) {
- //add other license
- qDataSet.getPerson(i).setQ2_11_1_1(cb1.isChecked());
- qDataSet.getPerson(i).setQ2_11_1_2(cb2.isChecked());
- qDataSet.getPerson(i).setQ2_11_1_3(cb3.isChecked());
- qDataSet.getPerson(i).setQ2_11_1_4(et2_11_1.getText().toString());
- }
- //no license
- else {
- qDataSet.getPerson(i).setQ2_11_1_1(false);
- qDataSet.getPerson(i).setQ2_11_1_2(false);
- qDataSet.getPerson(i).setQ2_11_1_3(false);
- qDataSet.getPerson(i).setQ2_11_1_4("");
- }
- }
- }
- //------------------------------------------------------------------------------------------------------
- //button pressed to go to previuos section. Return qdataset as serialized.
- //------------------------------------------------------------------------------------------------------
- public void previousStep(View v) {
- //save entered data
- saveEnteredData();
- Intent questionIntent = new Intent();
- questionIntent.putExtra("qDataSet", qDataSet);
- setResult(RESULT_OK, questionIntent);
- finish();
- }
- //------------------------------------------------------------------------------------------------------
- //redirects back pressed event to previousStep method
- //------------------------------------------------------------------------------------------------------
- public void onBackPressed() {
- previousStep(null);
- }
- //------------------------------------------------------------------------------------------------------
- //save returned qDataset
- //------------------------------------------------------------------------------------------------------
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode == RESULT_OK && requestCode == nextRequestCode) {
- //retrieve serialized qdataset
- qDataSet = (QuestionnaireDataSet) data.getSerializableExtra("qDataSet");
- }
- }
- //------------------------------------------------------------------------------------------------------
- //save returned qDataset
- //------------------------------------------------------------------------------------------------------
- private void populateFields() {
- LinearLayout ll2_7 = (LinearLayout) findViewById(R.id.ll2_7);
- LinearLayout ll2_8 = (LinearLayout) findViewById(R.id.ll2_8);
- LinearLayout ll2_9 = (LinearLayout) findViewById(R.id.ll2_9);
- LinearLayout ll2_10 = (LinearLayout) findViewById(R.id.ll2_10);
- LinearLayout ll2_11 = (LinearLayout) findViewById(R.id.ll2_11);
- LinearLayout ll2_11_1 = (LinearLayout) findViewById(R.id.ll2_11_1);
- for (int i = 0; i < qDataSet.getPeopleNum(); i++) {
- PersonDataSet person = qDataSet.getPerson(i);
- //question 2.7
- if (person.getQ2_7() != null) {
- NoDefaultSpinner s2_7 = (NoDefaultSpinner) ll2_7.getChildAt(i).findViewById(i);
- ArrayAdapter<CharSequence> arrAdapter = ArrayAdapter.createFromResource(this, R.array.question2_7_spinner, android.R.layout.simple_spinner_item);
- int position = arrAdapter.getPosition(person.getQ2_7());
- s2_7.setSelection(position);
- }
- //question 2.8
- if (person.getQ2_8_1() != null) {
- CheckBox cb1 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i);
- CheckBox cb2 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i + 100);
- CheckBox cb3 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 200);
- CheckBox cb4 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 300);
- CheckBox cb5 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 400);
- CheckBox cb6 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 500);
- CheckBox cb7 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(i + 600);
- CheckBox cb8 = (CheckBox) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr4).findViewById(i + 700);
- EditText et2_8 = (EditText) ll2_8.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr5).findViewById(i + 800);
- cb1.setChecked(person.getQ2_8_1());
- cb2.setChecked(person.getQ2_8_2());
- cb3.setChecked(person.getQ2_8_3());
- cb4.setChecked(person.getQ2_8_4());
- cb5.setChecked(person.getQ2_8_5());
- cb6.setChecked(person.getQ2_8_6());
- cb7.setChecked(person.getQ2_8_7());
- cb8.setChecked(person.getQ2_8_8().length() > 0 ? true : false);
- et2_8.setText(person.getQ2_8_8());
- }
- //question 2.9
- if (person.getQ2_9() != null) {
- NoDefaultSpinner s2_9 = (NoDefaultSpinner) ll2_9.getChildAt(i).findViewById(i);
- EditText et2_9 = (EditText) ll2_9.getChildAt(i).findViewById(i + 100);
- ArrayAdapter<CharSequence> arrAdapter = ArrayAdapter.createFromResource(this, R.array.question2_9_spinner, android.R.layout.simple_spinner_item);
- int position = arrAdapter.getPosition(person.getQ2_9());
- if (position != -1)
- s2_9.setSelection(position);
- else if (!person.getQ2_9().equals("N/A") && !person.getQ2_9().equals("")) {
- s2_9.setSelection(s2_9.getAdapter().getCount()-1);
- et2_9.setText(person.getQ2_9());
- }
- }
- //question 2.10
- if (person.getQ2_10() != null) {
- NoDefaultSpinner s2_10 = (NoDefaultSpinner) ll2_10.getChildAt(i).findViewById(i);
- EditText et2_10 = (EditText) ll2_10.getChildAt(i).findViewById(i + 100);
- ArrayAdapter<CharSequence> arrAdapter = ArrayAdapter.createFromResource(this, R.array.question2_10_spinner, android.R.layout.simple_spinner_item);
- int position = arrAdapter.getPosition(person.getQ2_10());
- if (position != -1)
- s2_10.setSelection(position);
- else if (!person.getQ2_10().equals("N/A") && !person.getQ2_10().equals("")) {
- s2_10.setSelection(s2_10.getAdapter().getCount()-1);
- et2_10.setText(person.getQ2_10());
- }
- }
- //question 2.11
- if (person.getQ2_11() != null) {
- NoDefaultSpinner s2_11 = (NoDefaultSpinner) ll2_11.getChildAt(i).findViewById(i);
- ArrayAdapter<CharSequence> arrAdapter = ArrayAdapter.createFromResource(this, R.array.question2_11_spinner, android.R.layout.simple_spinner_item);
- int position = arrAdapter.getPosition(person.getQ2_11());
- if (position != -1)
- s2_11.setSelection(position);
- else
- s2_11.setSelection(-1);
- }
- //question 2.11_1
- if (person.getQ2_11_1_1() != null) {
- CheckBox cb1 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i);
- CheckBox cb2 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr1).findViewById(i + 100);
- CheckBox cb3 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 200);
- CheckBox cb4 = (CheckBox) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr2).findViewById(i + 300);
- EditText et2_11_1 = (EditText) ll2_11_1.getChildAt(i).findViewById(R.id.tl1).findViewById(R.id.tr3).findViewById(i + 400);
- cb1.setChecked(qDataSet.getPerson(i).getQ2_11_1_1());
- cb2.setChecked(qDataSet.getPerson(i).getQ2_11_1_2());
- cb3.setChecked(qDataSet.getPerson(i).getQ2_11_1_3());
- cb4.setChecked(qDataSet.getPerson(i).getQ2_11_1_4().length() > 0 ? true : false);
- et2_11_1.setText(qDataSet.getPerson(i).getQ2_11_1_4());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement