所以我在努力学习循环。
我有一个带有动态控件的移动应用程序,我从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);
}
}
}
}
}
我的问题是,我得到的结果看起来像这样;
问题串值
答案字符串值
复选框值
我想要的是
questionstring value,answerstring value,checkbox value
我不能为我的生活看到我如何将这些价值分成一行。
任何提示赞赏
答案 0 :(得分:2)
跟踪只是打印信息到控制台主要用于调试如果你真的想要在控制台的一行上只需要创建一个字符串,然后添加“问题:”+ questionString +“答案:”+ answerString + “检查/切换:”+复选框在找到所有字符串后触发该字符串,然后使用您创建的字符串调用trace。像这样的东西
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);