0

所以我在循环中挣扎。

我有一个带有从 sqlite 数据库添加的动态控件的移动应用程序,它是一个问题列表,并且基于问题类型,我将相关类型的控件与问题一起添加到页面中,这一切都很好。

然后我遍历所有控件以寻找答案,因此我可以遍历 60 个问题并从相关的文本框、复选框和切换开关中返回值。

for 循环是这样运行的

                               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);
                            }
                        }
                    }   

                }
            } 

我的问题是,我得到的结果是这样的;

问题
字符串值 答案字符串值
复选框值

我想要的是

问题字符串值、答案字符串值、复选框值

我一辈子都看不到我如何将这些值放入 1 行。

任何提示表示赞赏

4

1 回答 1

2

Trace 只是将信息打印到控制台,主要用于调试,如果您真的希望在控制台中的一行上显示所有信息,您只需要创建一个字符串,然后添加“问题:”+ questionString +“答案:”+ answerString +“检查/ Toggle: " + checkbox 在您找到所有字符串后回答该字符串,然后使用您创建的字符串调用跟踪。像这样的东西

                    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);
于 2012-10-15T02:04:54.877 回答