0

So I am struggling with loops.

I have a mobile app with dynamic controls that I add from a sqlite database, it is a list of questions and based on the question type, I add the relevant type of control to the page along with the question, this all works fine.

I then loop through all the controls looking for answers, so I can loop through 60 quesitons and return the values from the relevant textboxes, checkboxes and toggle switches.

The for loop runs like this

                               if (displayObject is DisplayObjectContainer && currentDepth < maxDepth)
            {  

                for (var i:int = 0; i < DisplayObjectContainer(displayObject).numChildren; i++)

                {
                    traceDisplayList(DisplayObjectContainer(displayObject).getChildAt(i), maxDepth, skipClass, levelSpace + "    ", currentDepth + 1);
                    if (displayObject is TextInput  ||displayObject is CheckBox || displayObject is Label || displayObject is ToggleSwitch )
                    {
                        if(displayObject["id"] =="QuestionText"&& (i==0))
                        {
                            if(displayObject["text"] != null)
                            {
                                questionString= (displayObject["text"]);
                                trace ("Question: " +  questionString); 
                            }
                        }
                        else if (displayObject["id"] == "QuestionResponse")
                        {
                            if(displayObject["text"] != null)
                            {
                                answerString = (displayObject["text"]);
                                trace ("Answer: " + answerString);
                            }
                        }
                        else if  (displayObject["id"]== "CheckboxResult")
                        {
                            if(displayObject["selected"] != null)
                            {
                                checkboxAnswer = (displayObject["selected"]);
                                trace ("Check / Toggle: " + checkboxAnswer);
                            }
                        }
                    }   

                }
            } 

My question is, the results I get back look like this;

questionstring value
answerstring value
checkbox value

what I want is

questionstring value, answerstring value, checkbox value

I cannot for the life of me see how I get these values into 1 row.

Any tips appreciated

1 Answer 1

2

Trace just prints info to the console mainly for debugging if you really want all of that on one line in the console you just need to create a string and then add "Question: " + questionString + " Answer: " + answerString + " Check / Toggle: " + checkboxAnswer to the string after you have found them all and then call trace with your string you made. something like this

                    var mystring:String
                    mystring="";
                    if(displayObject["id"] =="QuestionText"&& (i==0))
                    {
                        if(displayObject["text"] != null)
                        {
                            questionString= (displayObject["text"]);
                            mystring += "Question: " +  questionString; 
                        }
                    }
                    else if (displayObject["id"] == "QuestionResponse")
                    {
                        if(displayObject["text"] != null)
                        {
                            answerString = (displayObject["text"]);
                            mystring += "Answer: " + answerString;
                        }
                    }
                    else if  (displayObject["id"]== "CheckboxResult")
                    {
                        if(displayObject["selected"] != null)
                        {
                            checkboxAnswer = (displayObject["selected"]);
                            mystring += "Check / Toggle: " + checkboxAnswer;
                        }
                    }
                    trace(mystring);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.